如何从ASP.NET中的任何类访问会话变量?

如何从ASP.NET中的任何类访问会话变量?

我在应用程序的App_Code文件夹中创建了一个类文件。我有一个会话变量

Session["loginId"]

我想在我的类中访问此会话变量,但是当我编写以下行时,它会给出错误

Session["loginId"]

任何人都可以告诉我如何访问在ASP.NET 2.0(C#)中的app_code文件夹中创建的类中的会话变量


湖上湖
浏览 406回答 3
3回答

梦里花落0921

通过线程HttpContext访问Session: -HttpContext.Current.Session["loginId"]

青春有我

建议的解决方案的问题是,如果您使用进程外会话存储,它可能会破坏SessionState中内置的一些性能功能。(“状态服务器模式”或“SQL Server模式”)。在oop模式中,会话数据需要在页面请求结束时序列化,并在页面请求开始时反序列化,这可能是昂贵的。为了提高性能,SessionState尝试仅在第一次访问变量时仅对反序列化变量进行反序列化,并且只重新序列化并替换已更改的变量。如果您有很多会话变量并将它们全部推送到一个类中,那么会话中的所有内容都将在每个使用会话的页面请求上反序列化,即使只更改了1个属性,因此所有内容都需要再次序列化。如果您使用大量会话和oop模式,只需要考虑一些事情。
打开App,查看更多内容
随时随地看视频慕课网APP