RouteCollection.Ignore Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.