尝试从静态方法获取会话,但获取NULL

时间:2012-06-08 16:06:31

标签: c# asp.net .net httpcontext

我正在尝试从静态函数获取当前用户会话,但usObj始终为null。

这就是我正在做的事情:

public static List<RequestTypeBL> GetRequestType(string itemNo, int requestTypeID, int claimID) {
    UserSession usObj = (UserSession)HttpContext.Current.Session["UserSessionObj"];
    RequestTypeBL reqTypeBL;
    reqTypeBL= SERT_BO.RequestTypeBL.GetClaimRequestType(claimID, requestType, usObj.UserID, itemNo);
我错过了什么吗?请帮忙。

我可以从常规功能中做到以下几点:

return (UserSession)Session["UserSessionObj"];

我只在生产环境中看到这种行为,当在开发中运行相同的代码时,一切都按预期工作。它可能与某些类型的IIS设置有关吗?

1 个答案:

答案 0 :(得分:1)

类似的事情发生在我身上,这是因为应用程序池正在使用的工作线程数量,开发网络服务器只使用了一个。请求并不总是由同一个线程回答。 我不记得在IIS上配置它的位置,也不确定您是否使用IIS。 希望它有所帮助。