RouteCollection.Ignore Metoda

Definicja

Definiuje wzorzec adresu URL, który nie powinien być sprawdzany pod kątem dopasowań względem tras.

Przeciążenia

Ignore(String, Object)

Definiuje wzorzec adresu URL, który nie powinien być sprawdzany pod kątem dopasowań względem tras, jeśli adres URL żądania spełnia określone ograniczenia.

Ignore(String)

Definiuje wzorzec adresu URL, który nie powinien być sprawdzany pod kątem dopasowań do tras.

Uwagi

Ta metoda tworzy trasę mapowana na procedurę StopRoutingHandler obsługi tras. Po wywołaniu tej metody żądania zgodne z określonym wzorcem adresu URL nie będą przetwarzane jako żądania tras.

ASP.NET routing automatycznie ignoruje żądania, gdy adres URL pasuje do pliku fizycznego, takiego jak plik obrazu. W niektórych przypadkach można również chcieć, aby routing ignorował żądania, gdy nie ma pliku fizycznego. Na przykład żądania, które ASP.NET automatycznie wysyłają pliki axd, nie powinny być traktowane jako żądania trasy, mimo że nie ma pliku fizycznego odpowiadającego rozszerzeniu .axd nazwy pliku.

Ignore(String, Object)

Definiuje wzorzec adresu URL, który nie powinien być sprawdzany pod kątem dopasowań względem tras, jeśli adres URL żądania spełnia określone ograniczenia.

public:
 void Ignore(System::String ^ url, System::Object ^ constraints);
public void Ignore (string url, object constraints);
member this.Ignore : string * obj -> unit
Public Sub Ignore (url As String, constraints As Object)

Parametry

url
String

Wzorzec adresu URL, który ma zostać zignorowany.

constraints
Object

Dodatkowe kryteria określające, czy żądanie zgodne ze wzorcem adresu URL zostanie zignorowane.

Wyjątki

Parametr url to null.

Przykłady

W poniższym przykładzie pokazano, jak za pomocą tej metody zignorować wszystkie adresy URL, które mają rozszerzenie aspx. Możesz to zrobić, jeśli zarejestrujesz niestandardową procedurę obsługi PROTOKOŁU HTTP, aby obsłużyć wszystkie adresy URL dla plików, które mają rozszerzenie ".aspx". Pojedynczy wzorzec adresu URL, który będzie pasował do wszystkich żądań aspx, wymagałby dwóch parametrów catchall, takich jak {*path}.aspx/{*pathinfo}. (Ten wzorzec będzie pasował do dowolnego adresu URL kończącego się ciągiem aspx, w tym tych, które mają parametry ciągu zapytania). Jednak routing zezwala tylko na jeden parametr catchall na końcu. Alternatywnie można określić wzorzec adresu URL, który ma pojedynczy parametr catchall, który pasuje do wszystkich adresów URL, a następnie określić ograniczenia, które wykluczają wszystko, co nie ma rozszerzenia aspx, jak pokazano w poniższym przykładzie:

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

Poprzedni wiersz kodu zazwyczaj jest dodawany do metody wywoływanej z Application_Start metody w pliku Global.asax, jak pokazano w przykładzie Ignore(String) przeciążenia.

Uwagi

Ta metoda tworzy trasę mapowana na procedurę StopRoutingHandler obsługi tras. Po wywołaniu tej metody żądania zgodne ze wzorcem określonego adresu URL nie będą przetwarzane jako żądania tras.

ASP.NET routing automatycznie ignoruje żądania, gdy adres URL pasuje do pliku fizycznego, takiego jak plik obrazu. W niektórych przypadkach możesz również chcieć zignorować żądania, gdy nie ma pliku fizycznego. Na przykład żądania, które ASP.NET automatycznie wysyłają pliki axd, nie powinny być traktowane jako żądania tras, mimo że nie ma pliku fizycznego odpowiadającego rozszerzeniu nazwy pliku axd.

Zobacz też

Dotyczy

Ignore(String)

Definiuje wzorzec adresu URL, który nie powinien być sprawdzany pod kątem dopasowań do tras.

public:
 void Ignore(System::String ^ url);
public void Ignore (string url);
member this.Ignore : string -> unit
Public Sub Ignore (url As String)

Parametry

url
String

Wzorzec adresu URL, który ma zostać zignorowany.

Przykłady

Domyślny szablon dla projektów MVC używa tej metody do wykluczania plików axd z routingu, jak pokazano w poniższym przykładzie:

public class MvcApplication : System.Web.HttpApplication
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}",                           // URL with parameters
            new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
        );
    }

    protected void Application_Start()
    {
        RegisterRoutes(RouteTable.Routes);
    }
}
Public Class MvcApplication
    Inherits System.Web.HttpApplication

    Shared Sub RegisterRoutes(ByVal routes As RouteCollection)
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}")

        ' MapRoute takes the following parameters, in order:
        ' (1) Route name
        ' (2) URL with parameters
        ' (3) Parameter defaults
        routes.MapRoute( _
            "Default", _
            "{controller}/{action}/{id}", _
            New With {.controller = "Home", .action = "Index", .id = ""} _
        )

    End Sub

    Sub Application_Start()
        RegisterRoutes(RouteTable.Routes)
    End Sub
End Class

Uwagi

Ta metoda tworzy trasę mapowana na procedurę StopRoutingHandler obsługi tras. Po wywołaniu tej metody żądania zgodne ze wzorcem określonego adresu URL nie będą przetwarzane jako żądania tras.

ASP.NET routing automatycznie ignoruje żądania, gdy adres URL pasuje do pliku fizycznego, takiego jak plik obrazu. W niektórych przypadkach możesz również chcieć zignorować żądania, gdy nie ma pliku fizycznego. Na przykład żądania, które ASP.NET automatycznie wysyłają pliki axd, nie powinny być traktowane jako żądania tras, mimo że nie ma pliku fizycznego odpowiadającego rozszerzeniu nazwy pliku axd.

Zobacz też

Dotyczy