C# 如何在vNext Web应用程序中进行服务器端状态管理

C# 如何在vNext Web应用程序中进行服务器端状态管理,c#,asp.net-mvc,asp.net-core,C#,Asp.net Mvc,Asp.net Core,前面我们有会话来管理ASP.NET web应用程序中的状态。我正在尝试创建一个简单的vNext MVC应用程序,需要在其中执行一些状态管理。现在,由于System.web已经消失,我如何在MVC6应用程序中使用Session。它是否在Microsoft.AspNet.Mvc或其他任何地方仍然可用,或者是否有其他服务器端状态管理可用,以及如何使用?请帮助..更新日期:2014年11月2日 ASP.NET团队已开始构建新的会话状态中间件,以在ASP.NET 5中启用会话状态。您可以查看,它既有,也有

前面我们有
会话
来管理ASP.NET web应用程序中的状态。我正在尝试创建一个简单的vNext MVC应用程序,需要在其中执行一些状态管理。现在,由于
System.web
已经消失,我如何在MVC6应用程序中使用
Session
。它是否在Microsoft.AspNet.Mvc或其他任何地方仍然可用,或者是否有其他服务器端状态管理可用,以及如何使用?请帮助..

更新日期:2014年11月2日 ASP.NET团队已开始构建新的会话状态中间件,以在ASP.NET 5中启用会话状态。您可以查看,它既有,也有

要在应用程序中启用会话状态,请调用:

app.UseSession();
以及从中读取/写入:

var some_value = context.Session.GetInt("some_value").Value;
some_value++;
context.Session.SetInt("some_value", some_value);

原始答案
会话状态尚未在ASP.NET vNext中实现,但已在计划中实现。你根本不能使用System.Web的会话状态,因为即使应用程序在完整的.NET上运行,System.Web中的会话状态实现也与ASP.NET vNext不兼容。

我还没有深入研究vNext,但据我所知,
System.Web
现在并不是什么禁忌。如果你需要它,你就把它包括在内。关键在于,如果不需要它,可以将其删除,例如在运行自托管的Web API中。因此,如果您需要
会话
添加
System.Web
引用并引导它。需要指出的是:System.Web仅在桌面CLR(.net 4.5.1)上运行时可用。如果您想在云优化CLR(CoreCLR)系统上运行,Web是gone@VictorHurdugaci嗯,我试着使用System.Web。在其中,我发现只有以下三个类“AspNetHostingPermission”、“AspNetHostingPermissionAttribute”和“AspNetHostingPermissionLevel”,即使我尝试创建MVC 5控制器(使用System.Web),也没有“HttpSessionStateBase”抽象类,但没有System.Web.MVC。未找到任何nuget来引用项目中的依赖项。json@Riki鉴于ASP.NET vNext有一个新的会话状态中间件可供您签出,我已更新了我的答案。您的链接的可能副本没有正确粘贴。@Davidansey谢谢!我刚修好,不知道怎么回事!我没有看到app.UseSession();它不再有效了。现在情况如何?@VuNguyen它还在那里。您是否在
project.json
文件中引用了
Microsoft.AspNet.Session
?您遇到了什么错误?我在GitHub上看到了存储库,当我从nuGet获得Microsoft.AspNet.Session时,我收到了“还原错误”。警告标记位于Microsoft.AspNet.Session的引用节点。