我看到了一些问题(Here和Here),但他们没有回答我的问题。 我试图使用" ajax.ashx"来调用Ajax。文件,以及访问Session的功能。 出于某种原因,Session对象本身的值为null。
使用示例:
Session = HttpContext.Current.Session // This is null
或者:
public virtual void ProcessRequest(HttpContext context)
{
System.Web.SessionState.HttpSessionState Session = context.Session;
// This is null
}
在Web.config中:
<sessionState timeout="1800"></sessionState>
答案 0 :(得分:81)
您必须在处理程序上将IRequiresSessionState
的声明添加为:
public class YourHandleName : IHttpHandler, IRequiresSessionState
{
...
默认情况下,处理程序未与会话连接以保持最低限度,方法是添加IRequiresSessionState
将其附加到会话中。