在Visual Studio 2014中,ASP.NET vNext,我正在尝试在MVC 6.I中实现会话状态 我没有在Visual Studio中获得任何Intellisense来实现它。请告诉我如何 使用它。
答案 0 :(得分:16)
ASP.NET团队已经开始构建一个新的会话状态中间件,以在ASP.NET vNext中启用会话状态。您可以查看Session repo,其中包含Session middleware和sample。
要在应用中启用会话状态,请致电:
app.UseSession();
从中读取/写入:
var some_value = context.Session.GetInt("some_value").Value;
some_value++;
context.Session.SetInt("some_value", some_value);
基本上与How to do server side state management in vNext Web Applications相同的问题 - 会话状态尚未在ASP.NET vNext中实现。
正如其他人所说,TempData与会话状态不相同,它只是建立在它之上。 (它还没有在ASP.NET vNext中实现。)
答案 1 :(得分:8)
我写了一篇博客文章,概述了How to Implement Sessions in 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 答案 2 :(得分:4)
只需安装包
即可Install-Package Microsoft.AspNet.Session
然后把
app.UseSession();
在你的Startup.cs中。正如Eilon指出的那样,它将通过
提供Context.Session.SetString("key", stringValue);