Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 访问类文件中的会话_C#_Session Variables_Session State - Fatal编程技术网

C# 访问类文件中的会话

C# 访问类文件中的会话,c#,session-variables,session-state,C#,Session Variables,Session State,我正在将一个项目升级到新版本的Visual Studio、.Net Framework和我们的应用程序母版页。不幸的是,在执行此操作时,某些代码不再有效 在我的default.aspx.cs页面上,我正在设置一个会话变量: 会话[“用户”]=sUser 我需要访问security.cs文件(不是代码隐藏)中的此会话变量。不幸的是,每次我尝试访问以下内容时: 字符串sUser=HttpContext.Current.Session[“user”].ToString() 我收到一个“'HttpCon

我正在将一个项目升级到新版本的Visual Studio、.Net Framework和我们的应用程序母版页。不幸的是,在执行此操作时,某些代码不再有效

在我的default.aspx.cs页面上,我正在设置一个会话变量: 会话[“用户”]=sUser

我需要访问security.cs文件(不是代码隐藏)中的此会话变量。不幸的是,每次我尝试访问以下内容时: 字符串sUser=HttpContext.Current.Session[“user”].ToString()

我收到一个“'HttpContext.Current.Session[“user”]”引发了“System.NullReferenceException”类型的异常错误

我知道,从设计上讲,类文件不能访问会话,但我希望有某种方法可以访问它,以节省大量工作。如果我无法访问会话,我将需要更改大量代码,以便将用户传递到一堆类文件中。如果我能以某种方式使用session(或在default.aspx.cs文件的page_load中设置的其他方法),更改将非常小


有什么办法可以让这一切顺利吗

谢谢大家的帮助。你帮我找到了答案。以下是我需要的解决方案:


是否为
HttpContext
null
?或者它是当前的HttpContext?或者是
HttpContext.Session
?是在web请求的上下文中执行
Security.cs
代码?或者可能来自一个新的线程或任务?如果您能够提供一个.HttpContext.Current确实有效,并且类正在参与一个当前请求,那就太棒了。在您的示例中,您正在一行中完成http上下文会话对象的ToString()。要帮助查看发生了什么,请将其分为四行(获取当前上下文,然后获取会话,然后从会话中获取“user”对象,然后执行ToString()操作)。这可能会给你一些线索,让你知道这并没有达到你所期望的效果