0

各セッションに基づいて、ルートコレクションを.netに登録しようとしています。私が持っているコードは正常に機能します。ウェブサイト/ユーザー名に移動すると正しいサブページが読み込まれますが、これらのサブページを読み込むには、アプリケーションを再起動してウェブサイト/ユーザー名2に移動する必要があります。ただし、アプリケーションを再起動すると、2番目のアプリケーションは機能しますが、最初のアプリケーションは機能しません。

system.web.routingを使用して、アプリケーションごとではなく、セッションごとに異なるルートコレクションを作成する方法はありますか。

4

3 に答える 3

3

ルートはルート名にリンクされており、Webアプリケーション用にグローバルに保存されるため、セッションごとにルートを実際に定義することはできません。ユーザーごとに異なるルートが必要な理由の例を挙げてください。ほとんどの場合、RouteUrlを「member / logo / {size} / {UserName} .jpg」のように設定するなど、ルートパターンを使用するだけで解決できます。ここで、Pageを介してルートURLを生成するときにUserNameとサイズを指定できます。 GetRouteUrl()

于 2011-01-26T21:44:57.763 に答える
1

独自のルートハンドラーを作成できます。ご覧ください:ASP.NetMVCフレームワーク-独自のIRouteHandlerを作成します

このようなアプローチを使用すると、リクエストごとに異なる方法でルーティングできるようになります。次に、各リクエストでセッション値を確認して、正しいハンドラーを取得できます。

于 2011-01-26T21:52:12.190 に答える
0

RouteTable.Routesは静的であるため、同じルートがすべてのセッションで共有されます。したがって、セッションごとに異なるルートのセットを設定することはできません。

于 2011-01-26T21:45:55.890 に答える