繁体   English   中英

c#sessions“对象引用未设置为对象的实例。”

[英]c# sessions “Object reference not set to an instance of an object.”

我有一个ASHX文件:

你调用的对象是空的。

在线上:

HttpContext.Current.Session["loggedIn"] = true

这是我如何正确使用会话?

我猜这Session是罪魁祸首; 这里参考,你可能想尝试添加: 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 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM