デフォルトの「処理中」セッションを使用する MVC3 Web アプリがあります。PRG パターンを配置しました。つまり、モデル状態が無効な場合のポストバック中に、モデルを TempData に保存し、元の get アクションにリダイレクトします。get アクションでは、モデル データ (存在する場合) をフェッチし、ビューに送信します。これは MVC の基本的な側面の 1 つだと思います。
バックグラウンドの TempData は、PRG 遷移で使用されるセッション変数であることを知りました。私が知る必要があるのは、2 つのページで TempData["model"] のようなものを使用し、ページに同時にアクセスする場合、競合または相互参照が可能かどうかです。TempData["model"] の共通データを上書きしますか、それとも 2 つの異なるページで同じ tempdata 名を使用しても安全ですか。
また、Session["model"] の種類のデータと競合しますか? 予期しないセッション データの破損に直面しています。おそらく、セッション データをリセットする内部コードまたはその他の原因が原因です。セッション データが部分的に破損する可能性はありますか? つまり、Session["data1"] は問題ありませんが、Session["data2"] はなくなりましたか?
ユーザーが Web アプリを長時間使用することが多く、セッション タイムアウトが発生します。セッションの ASP.Net セッション状態サービスを試してみましたが、重いオブジェクトを (シリアル化によって) セッションに保存するため、パフォーマンスの問題が発生しました。最終的に、proces モードで元のデフォルトに戻りました。
同様の経験をしたことがある場合は、共有してください。