2

WebAPI 2.0 に含まれる属性ルーティングを使用していますが、特定の条件に基づいてルートを削除する方法がわかりません。を使用してすべてのルートをマップMapHttpAttributeRoutesし、次のコード行を使用して特定のルートを削除したいと考えています。

        // enable attribute routing support
        httpConfiguration.MapHttpAttributeRoutes();

        // expose the flag routes only if required
        if (DisableFlagEndpoint)
        {
            httpConfiguration.Routes.Remove(FlagsController.RouteName);
        }

しかし、これはNotSupportedException. ルートを削除するにはどうすればよいですか? そうでない場合、これを達成する別の方法はありますか?

4

1 に答える 1

2

WebAPI 2.1 でこれを行う機能が導入されたようIgnoreRoute()です。 http://www.asp.net/web-api/overview/releases/whats-new-in-aspnet-web-api-21#ignoreroute

// disable the flag routes if required
if (DisableFlagEndpoint)
{
    httpConfiguration.Routes.IgnoreRoute("Flags", "api/flags/{*paths}");
}

// enable attribute routing support
httpConfiguration.MapHttpAttributeRoutes();
于 2014-02-05T12:13:32.480 に答える