6

質問のタイトルは少し主観的に見えますが、議論することはあまりないと思います. 現在、一部の領域で TemData コンテナーを使用している MVC プロジェクトに取り組んでいます。MSDN のドキュメントを読むと、TempData を使用するとセッションが作成され、tempdata に保存されているデータが読み取られると失われるようです。この概念には問題ありませんが、今朝ずっと悩まされていたのは、Web ファーム環境でアプリケーションをホストするときにどのように動作するかということです。

GET 要求がサーバー 1 に渡され、サーバー 1 が TempData を作成し、その後の GET/POST 要求がサーバー 2 に送信された場合はどうなるでしょうか。

この仮定は完全に間違っているかもしれませんが、このことについて明確にする必要があります。

ご意見をお待ちしております...

乾杯!

4

2 に答える 2

2

いくつかの調査を行った後、アプリケーションでセッション変数を使用する場合、質問に投稿したシナリオは避けられません。私たちができる最善のことは、セッションに保存できるデータの量を減らすことです。これに加えて、webfarm/マルチサーバー環境でセッションを使用する必要がある場合は、いくつかの構成変更を行うことができます。セッションストレージの管理方法に関する非常に役立つ記事を次に示します。

ASP.NET セッション ハウツー FAQ

于 2012-03-29T21:22:56.097 に答える
0

はい、デフォルトではASP.NETMVCはTempDataをセッションに保存します。セッションがinproc(デフォルト)で、Webファームを使用している場合、次のリクエストの正しいセッションデータを取得できない可能性があります。Web形式の場合は、状態サーバーやSQLサーバーなどの他のセッションストレージ方法を使用します。

于 2012-03-07T20:01:03.273 に答える