在 Visual Studio 2014 ASP.NET vNext 中,我正在尝试在 MVC 6 中实现会话状态。我没有在 Visual Studio 中获得任何 Intellisense 来实现它。请建议我如何使用它。
问问题
10262 次
3 回答
16
2014 年 11 月 2 日更新
ASP.NET 团队已开始构建新的会话状态中间件,以在 ASP.NET vNext 中启用会话状态。您可以查看Session 存储库,其中既有Session 中间件,也有一个示例。
要在应用中启用会话状态,请调用:
app.UseSession();
并从中读/写:
var some_value = context.Session.GetInt("some_value").Value;
some_value++;
context.Session.SetInt("some_value", some_value);
原始答案
与如何在 vNext Web 应用程序中进行服务器端状态管理基本相同的问题- 会话状态尚未在 ASP.NET vNext 中实现。
正如其他人所指出的,TempData与Session State 不同,它只是建立在它之上。(而且它还没有在 ASP.NET vNext 中实现。)
于 2014-08-18T15:57:58.417 回答
8
我写了一篇博文,概述了如何在 ASP.NET 5、MVC6 中实现会话的详细信息。针对 Beta8 更新
它归结为:
- 添加
Microsoft.AspNet.Session
nuget包。 - 添加
services.AddSession()
到startup.cs - 添加
services.AddCaching()
到startup.cs - 添加
app.UseSession()
到startup.cs - 使用
HttpContext.Session
内部控制器 - 注入
IHttpContextAccessor
到控制器外部的 HttpContext
于 2015-07-10T10:41:11.693 回答
4
只需安装软件包
Install-Package Microsoft.AspNet.Session
然后放
app.UseSession();
在您的 Startup.cs 中。正如 Eilon 指出的那样,它将通过
Context.Session.SetString("key", stringValue);
于 2014-11-26T16:23:31.863 回答