asp.net-mvc – 为什么ASP.NET MVC使用会话状态?
发布时间:2020-12-15 21:07:58 所属栏目:asp.Net 来源:网络整理
导读:推荐由ASP.NET团队使用缓存而不是会话,我们在最近几年停止使用WebForm模型的会话。所以我们通常在web.config中关闭会话 sessionState mode="Off" / 但是,现在当我使用这个设置测试一个ASP.NET MVC应用程序时,它在类的SessionStateTempDataProvider在mvc框
推荐由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从这里。 解决方法
会话用于TempData存储。 TempData是会话状态的高度限制形式,其将仅持续直到来自某个用户的下一个请求。 (Edit在MVC 2中,它持续到下一次读取。)TempData的目的是存储数据,然后执行重定向,并且存储的数据可供您刚刚重定向的操作使用。
对TempData存储使用Session意味着已经处理Session的任何分布式缓存系统将适用于TempData。避免使用Session直接当TempData将做一些几个优点。一个是你不必自己清理会话; TempData将自动“过期”。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 将匿名对象从视图传递到部分视图
- asp.net-mvc-4 – 在一个项目中混合Web Api和ASP.Net MVC页
- asp.net-mvc – 在asp.net mvc中使用Checkbox提交表单
- asp.net-mvc-3 – 在Dbcontext中的.NET MVC 3回滚
- Azure 上部署 ASP.NET Core Web App
- asp.net – 虽然会话丢失,但Owin仍会对用户进行身份验证
- ASP.NET – 从不调用以编程方式创建的按钮的事件处理程序
- asp.net-core – 具有取消令牌的自定义AspCore中间件
- API Test WebApiTestClient工具安装及使用
- asp.net – IF运算符与If之间的评估差异,然后,否则
推荐文章
站长推荐
- asp.net-mvc – 为什么我在MVC3控制器中的模型中
- asp.net-mvc – 在Html.ActionLink的linkText中使
- asp.net – 将url参数添加到asp主题文件夹中的cs
- asp.net-mvc-4 – Html.RenderAction使用Post而不
- asp.net-mvc – 控制反转中的控件在哪里被反转
- asp.net-mvc – Mvc 3 Razor:使用部分部分视图?
- asp.net – (客户端)禁用提交按钮的最佳方法是什
- asp.net – ASP错误:由于对象的当前状态,操作无
- ASP.NET Core 的 `Core` 有几种写法?
- asp.net – 没有Javascript的Google Analytics
热点阅读