推荐由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的上下文中,我只是想知道为什么会话在这里使用。在这blog post还斯科特Watermasysk提到,关闭会话是一个很好的做法,所以我只是想知道为什么我必须打开使用MVC从这里。