RouteCollection.Ignore メソッド

定義

ルートの照合を行わない URL パターンを定義します。

オーバーロード

Ignore(String, Object)

要求 URL が指定された制約に一致する場合に、ルートの照合を行わない URL パターンを定義します。

Ignore(String)

ルートの照合を行わない URL パターンを定義します。

注釈

このメソッドは、ルート ハンドラーにマップされるルートを StopRoutingHandler 作成します。 このメソッドを呼び出すと、指定した URL パターンに一致する要求はルート要求として処理されません。

ASP.NET ルーティングでは、URL がイメージ ファイルなどの物理ファイルと一致すると、要求が自動的に無視されます。 場合によっては、物理ファイルがない場合に要求を無視するようにルーティングすることもできます。 たとえば、.axd ファイルに対 ASP.NET 自動的に行う要求は、.axd ファイル名拡張子に対応する物理ファイルがない場合でも、ルート要求として扱われるべきではありません。

Ignore(String, Object)

要求 URL が指定された制約に一致する場合に、ルートの照合を行わない URL パターンを定義します。

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)

パラメーター

url
String

無視する URL パターン。

constraints
Object

URL パターンに一致する要求を無視するかどうかを決定する、追加の抽出条件。

例外

url パラメーターが null です。

次の例は、このメソッドを使用して、拡張子が .aspx のすべての URL を無視する方法を示しています。 拡張子 ".aspx" を持つファイルのすべての URL を処理するカスタム HTTP ハンドラーを登録する場合は、これを行うことができます。 すべての .aspx 要求に一致する単一の URL パターンには、 などの {*path}.aspx/{*pathinfo}2 つの catchall パラメーターが必要です。 (このパターンは、クエリ文字列パラメーターを持つ URL を含め、.aspx で終わるすべての URL と一致します)。ただし、ルーティングでは、最後に 1 つの catchall パラメーターのみが許可されます。 または、次の例に示すように、すべての URL に一致する単一の catchall パラメーターを持つ URL パターンを指定し、.aspx 拡張子を持たないすべてを除外する制約を指定することもできます。

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

前のコード行は、通常、オーバーロードの例に示すように、Global.asax の メソッドから Application_Start 呼び出されるメソッドに Ignore(String) 追加されます。

注釈

このメソッドは、ルート ハンドラーにマップされるルートを StopRoutingHandler 作成します。 このメソッドを呼び出すと、指定した URL パターンに一致する要求はルート要求として処理されません。

ASP.NET ルーティングでは、URL がイメージ ファイルなどの物理ファイルと一致すると、要求が自動的に無視されます。 場合によっては、物理ファイルがない場合に要求を無視するようにルーティングすることもできます。 たとえば、.axd ファイルに対 ASP.NET 自動的に行う要求は、.axd ファイル名拡張子に対応する物理ファイルがない場合でも、ルート要求として扱われるべきではありません。

こちらもご覧ください

適用対象

Ignore(String)

ルートの照合を行わない URL パターンを定義します。

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

パラメーター

url
String

無視する URL パターン。

MVC プロジェクトの既定のテンプレートでは、次の例に示すように、このメソッドを使用してルーティングから .axd ファイルを除外します。

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

注釈

このメソッドは、ルート ハンドラーにマップされるルートを StopRoutingHandler 作成します。 このメソッドを呼び出すと、指定した URL パターンに一致する要求はルート要求として処理されません。

ASP.NET ルーティングでは、URL がイメージ ファイルなどの物理ファイルと一致すると、要求が自動的に無視されます。 場合によっては、物理ファイルがない場合に要求を無視するようにルーティングすることもできます。 たとえば、.axd ファイルに対 ASP.NET 自動的に行う要求は、.axd ファイル名拡張子に対応する物理ファイルがない場合でも、ルート要求として扱われるべきではありません。

こちらもご覧ください

適用対象