【问题标题】:c# sessions "Object reference not set to an instance of an object."c#会话“对象引用未设置为对象的实例。”
【发布时间】:2011-06-15 20:27:53
【问题描述】:

我有一个 ASHX 文件:

对象引用未设置为 对象的实例。

上线:

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

这是我正确使用会话的方式吗?

【问题讨论】:

    标签: c# asp.net session


    【解决方案1】:

    我猜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 也应该可以工作。

    【讨论】:

      【解决方案2】:

      默认情况下,ASHX 处理程序没有会话信息。

      查看此页面 http://www.hanselman.com/blog/GettingSessionStateInHttpHandlersASHXFiles.aspx

      IRequiresSessionState 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多