我有一個ASHX文件:未設置爲對象的實例 c#sessions「對象引用未設置爲對象的實例」。
對象引用。
就行了:
HttpContext.Current.Session["loggedIn"] = true
這是我如何使用會話是否正確?
我有一個ASHX文件:未設置爲對象的實例 c#sessions「對象引用未設置爲對象的實例」。
對象引用。
就行了:
HttpContext.Current.Session["loggedIn"] = true
這是我如何使用會話是否正確?
我猜想Session
是這裏的罪魁禍首;參考here,您可能想嘗試將: IRequiresSessionState
添加到您的處理程序中(ashx的代碼隱藏)。所以,你應該有類似:
public class Handler1 : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
context.Session["loggedIn"] = true;
}
public bool IsReusable
{
get
{
return false;
}
}
}
還要注意,很容易去跟context
傳入,但HttpContext.Current
應該工作了。
默認情況下,ASHX處理程序沒有會話信息。
看到這個頁面 http://www.hanselman.com/blog/GettingSessionStateInHttpHandlersASHXFiles.aspx
IRequiresSessionState