20

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

4

3 回答 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 中实现。

正如其他人所指出的,TempDataSession State 不同,它只是建立在它之上。(而且它还没有在 ASP.NET vNext 中实现。)

于 2014-08-18T15:57:58.417 回答
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
于 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 回答