IIS のワイルドカード マッピングをオンにできない場合 (共有ホスティング)、または気にすることができない場合 (怠惰)、ルートが「既知の」asp.net 拡張子のいずれかで終わる場合、ASP.Net ルーティングを引き続き使用できます... .ashx、.aspxなどを含むすべてのルート?
Chris Cavenagh のブログから、彼の例を以下に示します。
var routeHandler = new WebFormRouteHandler<Page>( "~/MyPage.aspx" );
routes.Add( new Route( "{page}", routeHandler ) );
routes.Add( new Route( "AccountServices/{page}", routeHandler ) );
routes.Add( new Route( "Default.aspx", routeHandler ) );
次のようなワイルドカード マッピングなしで実行できます。
var routeHandler = new WebFormRouteHandler<Page>( "~/MyPage.aspx" );
routes.Add( new Route( "{page}/view.ashx", routeHandler ) );
routes.Add( new Route( "AccountServices/{page}/view.aspx", routeHandler ) );
routes.Add( new Route( "Default.aspx", routeHandler ) );
彼の最後のルートは Default.aspx であるため、私はそう推測していますが、彼はそれにルート データを含めていません...もっと良い方法はありますか? これが機能する場合、アプリケーションを移動するか、ワイルドカード マッピングをオンにすることができ、ルートのみを変更する必要があるかのように、最良のアイデアのように見えます...