如何在ASP.Net MVC中访问会话变量

Unb*_*ble 2 c# asp.net asp.net-mvc session asp.net-mvc-5

我有一个ASP.Net MVC 5 Web应用程序,我想在会话中设置一个变量,以便我以后可以访问它.由于我是初学者,我不知道如何实现它.以下是我的尝试

clsUser user = mdlUser.GetUserForSession();
System.Web.HttpContext.Current.Session["MyValue"] = user.SessionID; // user.SessionID is an integer
int x =  System.Web.HttpContext.Current.Session["MyValue"] as int; // Access
Run Code Online (Sandbox Code Playgroud)

但我得错误为错误

as运算符必须与引用类型或可空类型一起使用('int'是不可为空的值类型)

如此链接引用

小智 7

文档(我的重点):

您可以使用as运算符在兼容的引用类型或可空类型之间执行某些类型的转换

int是值类型,而不是引用类型,因此as无法使用运算符,因此您需要使用"经典"方法来转换值.

int x = (int)System.Web.HttpContext.Current.Session["MyValue"];
Run Code Online (Sandbox Code Playgroud)