我正在尝试访问Asp.Net ashx处理程序中的会话变量,如下所示。
public void ProcessRequest (HttpContext context) {
context.Session["VariableName"] = Id;
}
但 context.Session 在上述方法中总是 Null 。如何访问ashx文件中的Session对象?
答案 0 :(得分:94)
您必须“实施”IRequiresSessionState或IReadOnlySessionState,前者提供对会话的完全访问权限,而后者提供只读访问权限。
我在这里引用“工具”,因为这两个都是所谓的“marker interfaces”,这意味着他们没有成员。
答案 1 :(得分:2)
在VB中,实现Anton提到的接口(IRequiresSessionState或IReadOnlySessionState),如下所示:
Public Class MyAshxFile
Implements System.Web.IHttpHandler
Implements System.Web.SessionState.IRequiresSessionState ''need this for session variables
Implements System.Web.SessionState.IReadOnlySessionState ''need this for session variables