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

Как получить доступ к сеансу в .ashx файле?

Я хочу получить доступ к некоторому значению (которое уже установлено в файле .aspx) в файле .ashx. Я попытался получить это значение, используя querystring, session и т.д., Но каждый раз, когда он не удался. Может ли кто-нибудь предложить мне, как мы можем получить доступ к значению сеанса в файле .ashx?

4b9b3361

Ответ 1

В файле aspx:

Session.Add("filename", "Test.txt");


После того, как вы установили значение сеанса в файле aspx. Используйте следующее, чтобы получить значение в файле ashx.

В файле ashx:

public class ImageHandler : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
    public void ProcessRequest(HttpContext context)
    {
      string Name = "";
      if (context.Session["filename"] != null)
         Name = context.Session["filename"].ToString();
    }
}

Ответ 2

В файле ashx.cs также "реализуем" интерфейс System.Web.SessionState.IReadOnlySessionState или System.Web.SessionState.IRequiresSessionState.

Вам не нужно реализовывать какой-либо метод, только наличие этого делает сеанс доступным (в режиме readonly или read/write), через context.Session.

Заголовок будет выглядеть так:

public class MyHandler: IHttpHandler, System.Web.SessionState.IReadOnlySessionState

Ответ 3

Попробуйте это,

HttpContext.Current.Session