我有一个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