セッションの代わりにキャッシュを使用するように ASP.NET チームが推奨したため、ここ数年、WebForm モデルでのセッションの使用を停止しました。したがって、通常、web.config でセッションをオフにします。
<sessionState mode="Off" />
しかし、この設定で ASP.NET MVC アプリケーションをテストするとSessionStateTempDataProvider
、mvc フレームワーク内のクラスでエラーがスローされ、セッション状態をオンにするように求められました。セッションを使用するソースを見る:
// line 20 in SessionStateTempDataProvider.cs
Dictionary<string, object> tempDataDictionary =
httpContext.Session[TempDataSessionStateKey] as Dictionary<string, object>;
では、なぜ彼らはここでセッションを使用するのでしょうか? 私は何が欠けていますか?
================================================== ======
編集申し訳ありませんが、この投稿はセッションとキャッシュについて議論することを意図したものではありませんが、ASP.NET MVC のコンテキストでは、ここでセッションが使用される理由を知りたいと思っていました。このブログ投稿でも、Scott Watermasysk は、セッションをオフにすることは良い習慣であると述べています。