asp.net 会话一个键的不同值



在我的泛型处理程序中,我尝试从会话中获取一些值。但有时对于一个会话,我有不同的价值观。

public void ProcessRequest(HttpContext context)
{
    ...
    string someVar = context.Session["some_key"];
    ...
}

在网页上初始化的 Session["some_key"] 值(一次),然后是用户调用处理程序。问题是在几个回发请求上下文之后。会话["some_key"]给了我不同的价值。可能是应用程序池的"最大工作进程数"设置的原因吗?

代码的问题在于您没有在会话中存储任何值。因此,ASP.NET 会为每个新请求生成一个新会话。

在此处查找更多帮助:http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.sessionid.aspx

如果应用程序需要整个会话的静态会话 ID,则可以在应用程序的 Global.asax 文件中实现 Session_Start 方法并将数据存储在会话对象中以修复会话 ID,也可以使用应用程序另一部分中的代码在会话对象中显式存储数据。

在代码中的某处添加类似这样的东西应该可以做到:

context.Session["dummy"] = 0;

此外,在提出问题之前尝试运行搜索以避免重复

相关内容

最新更新