RouteCollection.Ignore Method (String, Object)

.NET Framework (current version)

The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Defines a URL pattern that should not be checked for matches against routes if a request URL meets the specified constraints.

Namespace:   System.Web.Routing
Assembly:  System.Web (in System.Web.dll)

public void Ignore(
	string url,
	object constraints


Type: System.String

The URL pattern to be ignored.

Type: System.Object

Additional criteria that determine whether a request that matches the URL pattern will be ignored.

Exception Condition

The url parameter is null.

This method creates a route that is mapped to the StopRoutingHandler route handler. After you call this method, requests that match the specified URL pattern will not be processed as route requests.

ASP.NET routing automatically ignores requests when the URL matches a physical file, such as an image file. In some cases you might also want routing to ignore requests when there is no physical file. For example, the requests that ASP.NET automatically makes for .axd files should not be treated as route requests even though there is no physical file that corresponds to the .axd file-name extension.

The following example shows how to use this method to ignore all URLs that have an .aspx extension. You might want to do this if you register a custom HTTP handler to handle all URLs for files that have the extension ".aspx". A single URL pattern that would match all .aspx requests would require two catchall parameters such as {*path}.aspx/{*pathinfo}. (This pattern would match any URL that ends in .aspx, including those that have query-string parameters.) However, routing allows only one catchall parameter at the end. As an alternative, you can specify a URL pattern that has a single catchall parameter that matches all URLs and then specify constraints that exclude everything that does not have the .aspx extension, as shown in the following example:

routes.Ignore("{*allaspx}", new {allaspx=@".*\.aspx(/.*)?"});

The previous line of code would typically be added to a method that is called from the Application_Start method in the Global.asax, as shown in the example for the Ignore(String) overload.

.NET Framework
Available since 4.0
Return to top