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 (string url, object constraints);

パラメーター

url
String

無視する URL パターン。

constraints
Object

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

例外

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

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

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

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

注釈

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

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

こちらもご覧ください

適用対象

.NET Framework 4.8.1 およびその他のバージョン
製品 バージョン
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Ignore(String)

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

public void Ignore (string url);

パラメーター

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);
    }
}

注釈

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

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

こちらもご覧ください

適用対象

.NET Framework 4.8.1 およびその他のバージョン
製品 バージョン
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1