我在应用程序的App_Code文件夹中创建了一个类文件。我有一个会话变量
Session["loginId"]
我想在我的类中访问这个会话变量,但是当我编写下面的代码行时,它给出了错误
Session["loginId"]
谁能告诉我如何访问在ASP.NET 2.0中的app_code文件夹(C#)中创建的类中的会话变量
发布于 2009-03-07 08:50:38
通过线程的HttpContext访问会话:-
HttpContext.Current.Session["loginId"]
发布于 2010-06-11 01:42:15
所建议的解决方案的问题在于,如果您使用进程外会话存储,它可能会破坏SessionState中内置的一些性能特性。( "State Server Mode“或"SQL Server Mode")。在oop模式中,需要在页面请求结束时序列化会话数据,并在页面请求开始时反序列化会话数据,这可能会耗费大量资源。为了提高性能,SessionState只尝试在第一次访问时反序列化变量所需的内容,并且只重新序列化和替换已更改的变量。如果你有很多会话变量,并把它们都放到一个类中,那么你会话中的所有东西基本上都会在每个使用会话的页面请求上被反序列化,而且所有东西都需要再次序列化,即使只有一个属性因为类的改变而改变了。如果你使用了大量的会话和oop模式,就需要考虑一些问题。
发布于 2019-01-31 00:22:48
在asp.net核心中,这是不同的工作方式:
public class SomeOtherClass
{
private readonly IHttpContextAccessor _httpContextAccessor;
private ISession _session => _httpContextAccessor.HttpContext.Session;
public SomeOtherClass(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}
public void TestSet()
{
_session.SetString("Test", "Ben Rules!");
}
public void TestGet()
{
var message = _session.GetString("Test");
}
}
来源:https://benjii.me/2016/07/using-sessions-and-httpcontext-in-aspnetcore-and-mvc-core/
https://stackoverflow.com/questions/621549
复制相似问题