1

複数のブラウザー インスタンスを使用する必要がある .NET MVC4 アプリケーションを開始しています。各ブラウザには、独自のインスタンスまたはセッションごとに必要です。たとえば、学校で使用されるアプリケーションであるとしましょう。メイン ウィンドウでは、学生の検索と選択が行われ、そのブラウザ ウィンドウで行われたすべてのことが選択された学生に関連付けられます。他の 2 つのブラウザー ウィンドウを開き、2 人の異なる生徒に対して同じことを行うので、各ウィンドウは特定の生徒に関連付けられます。ブラウザーのすべてのインスタンスに到達するため、Session オブジェクトを使用できるとは思えません。このようなものを実装する最良の方法は何でしょうか?

4

1 に答える 1

0

ここでいくつかの可能性があります。

各ブラウザーが、ログインしているユーザーとは無関係の生徒を表示している場合、どのブラウザー インスタンスが要求を実行したかに関係なく、ルートは現在の生徒の情報を提供します。次に、学生モデルをその場でロードするだけです。

たとえば、検索後、学生のページにリダイレクトするとします。次のような URL ルートを設定できます。

http://www.blah.com/home/student/profile/123

MVC は、学生 ID = 123 の適切なコントローラーを取得します。学生をロードして、ビューをレンダリングします。

現在の生徒をセッション キャッシュに保存する場合は、キャッシュ内で生徒を一意に識別できる必要があります。「student」という名前で保存する代わりに、「student-123」として保存します。ここで、123 は学生の ID です。次に、セッション キャッシュで特定の学生を探すコードを記述できます。存在しない場合は、オンザフライでロードします。

于 2012-12-12T17:43:29.323 に答える