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

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