Сессия Asp.Net пуста в файле Ashx - PullRequest
31 голосов
/ 28 января 2010

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

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

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

Ответы [ 2 ]

94 голосов
/ 28 января 2010

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

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

2 голосов
/ 23 июня 2014

В 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
...