如何在ASP.NET vNext MVC 6中实现会话状态

Man*_*mar 20 asp.net-core-mvc asp.net-core

在Visual Studio 2014,ASP.NET vNext中,我正在尝试在MVC 6中实现会话状态.我没有在Visual Studio中获得任何Intellisense来实现它.请建议我如何使用它.

Eil*_*lon 16

2014年11月2日更新

ASP.NET团队已经开始构建一个新的会话状态中间件,以在ASP.NET vNext中启用会话状态.您可以查看Session repo,它包含Session中间件示例.

要在应用中启用会话状态,请致电:

app.UseSession();
Run Code Online (Sandbox Code Playgroud)

并从中读/写:

var some_value = context.Session.GetInt("some_value").Value;
some_value++;
context.Session.SetInt("some_value", some_value);
Run Code Online (Sandbox Code Playgroud)

原始答案

如何在vNext Web应用程序中执行服务器端状态管理基本相同的问题- 会话状态尚未在ASP.NET vNext中实现.

正如其他人指出,TempData的是一样的东西会话状态,它仅仅是建立在它之上.(它还没有在ASP.NET vNext中实现.)


Ben*_*ull 8

我写了一篇博客文章,概述了如何在ASP.NET 5,MVC6中实现会话的细节.针对Beta8进行了更新

归结为:

  • 添加Microsoft.AspNet.Sessionnuget包.
  • 添加services.AddSession()到startup.cs
  • 添加services.AddCaching()到startup.cs
  • 添加app.UseSession()到startup.cs
  • 使用HttpContext.Session内部控制器
  • 注入IHttpContextAccessor以获取控制器外部的HttpContext