0

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 であるため、私はそう推測していますが、彼はそれにルート データを含めていません...もっと良い方法はありますか? これが機能する場合、アプリケーションを移動するか、ワイルドカード マッピングをオンにすることができ、ルートのみを変更する必要があるかのように、最良のアイデアのように見えます...

4

1 に答える 1

0

はい、これは機能します...拡張機能を含める必要があるのはまだちょっと面倒です...しかし、機能します。

于 2010-08-04T23:18:41.103 に答える