Udostępnij za pośrednictwem


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ń względem 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 tras, 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 być ignorowany.

constraints
Object

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

Wyjątki

Parametr url ma wartość null.

Przykłady

W poniższym przykładzie pokazano, jak za pomocą tej metody ignorować wszystkie adresy URL, które mają rozszerzenie .aspx. Można to zrobić, jeśli zarejestrujesz niestandardową procedurę obsługi PROTOKOŁU HTTP w celu obsługi wszystkich adresów URL dla plików z rozszerzeniem ".aspx". Pojedynczy wzorzec adresu URL, który byłby zgodny ze wszystkimi żądaniami .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ę .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 wykluczające 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 przeciążenia Ignore(String) .

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 tras, mimo że nie ma pliku fizycznego odpowiadającego rozszerzeniu .axd nazwy pliku.

Zobacz też

Dotyczy

Ignore(String)

Definiuje wzorzec adresu URL, który nie powinien być sprawdzany pod kątem dopasowań względem 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 być ignorowany.

Przykłady

Domyślny szablon 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 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 tras, mimo że nie ma pliku fizycznego odpowiadającego rozszerzeniu .axd nazwy pliku.

Zobacz też

Dotyczy