あなたのコードが正しい、とGlobal.asax
にApplication_Start
方法で配置する必要があります。例:
void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.Add(new Route(
"sitemap.xml", new PageRouteHandler("~/sitemap.aspx")));
}
ただし、* .xmlファイルがASP.NETによって処理されることも確認する必要があります。既定では、* .xmlファイルはIISによって処理され、ASP.NETによって処理されません。確認するために、彼らはASP.NETによって処理されている、あなたは、次のいずれかです。
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>
または2)を追加し、 "ハンドラーマッピング" の.xmlのため:あなたのweb.config
にsystem.webServer
要素にrunAllManagedModulesForAllRequests="true"
を指定
1)ファイル:
<system.webServer>
<handlers>
<add name="xml-file-handler" path="*.xml" type="System.Web.UI.PageHandlerFactory"
verb="*" />
</handlers>
</system.webServer>
サンプルASP.NET(非MVC)プロジェクトでこれをテストし、指定したとおりにルーティングを取得できました。
うわー、本当にありがとうございます。あなたがHuntington Beach CAの近くに住んでいれば、私に飲み物を買うことができます。 – masteroleary
ハハ、私は助けることができてうれしい! – rsbarro
シャーロットノースカロライナの近くのどこにいても飲み物が私の上にある! – NTDLS