1

_AppStart.cshtml ファイルのように、Razor ビューによって生成されたブログの sitemap.xml ファイルを配信しようとしています。

//sitemap
RouteTable.Routes.MapWebPageRoute("sitemap.xml", "~/pages/shared/sitemap.cshtml");

このルートは何らかの理由で無視され、404 が返されます。「/sitemap」にルーティングすると問題なく動作しますが、ファイル拡張子を含めた瞬間に壊れます。ASP.NET がリクエストを取得する前に、IIS がリクエストに対して何らかの処理を行っていると思いますが、どうすればよいかわかりません。

4

1 に答える 1

0

拡張子をパラメータにしてみてください:

RouteTable.Routes.MapWebPageRoute(
    "sitemap.{extension}", // route pattern
    "~/pages/shared/sitemap.cshtml", // physical file
    defaultValues: new {extension = "xml"}, // defaults
    constraints: new {extension = "xml"}); // constraints (regex)
于 2012-12-17T17:35:27.327 に答える