Подтвердить что ты не робот

Сессия Asp.Net имеет значение null в файле ashx

Я пытаюсь получить доступ к переменной Session в обработчике asp.Net ashx, как показано ниже.

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

Но context.Session всегда находится в Null внутри указанного метода. Как получить доступ к объектам сеанса в файле ashx?

4b9b3361

Ответ 1

Вам нужно "реализовать" IRequiresSessionState или IReadOnlySessionState, причем предыдущий предоставляет полный доступ к сеансу, а последний предоставляет доступ только для чтения.

Я цитирую "реализовать" здесь, потому что эти два являются так называемыми "маркерными интерфейсами ", что означает, что у них нет членов.

Ответ 2

В VB реализуйте интерфейсы, упомянутые Антоном (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