ashx文件中的Asp.Net Session为空

时间:2010-01-28 17:28:55

标签: asp.net session httphandler

我正在尝试访问Asp.Net ashx处理程序中的会话变量,如下所示。

public void ProcessRequest (HttpContext context) {
        context.Session["VariableName"] = Id;
    }

context.Session 在上述方法中总是 Null 。如何访问ashx文件中的Session对象?

2 个答案:

答案 0 :(得分:94)

您必须“实施”IRequiresSessionStateIReadOnlySessionState,前者提供对会话的完全访问权限,而后者提供只读访问权限。

我在这里引用“工具”,因为这两个都是所谓的“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