HttpContext.Current.Session在Ashx文件中为空
本文关键字:文件 Ashx Current Session HttpContext | 更新日期: 2023-09-27 17:50:46
我看到了一些问题(这里和这里),但他们没有回答我的问题。我尝试使用"Ajax"来调用Ajax。ashx"文件,并在函数中访问会话。由于某些原因,Session对象本身的值为空。
使用例子:
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>
您必须在处理程序的声明中添加IRequiresSessionState
:
public class YourHandleName : IHttpHandler, IRequiresSessionState
{
...
默认情况下,处理程序不与会话连接,以保持它们最小,通过添加IRequiresSessionState
,您将它们与会话连接在一起。