G+

Использования сессии (Session) в Handler (.ashx)

Программирование Asp.net
Предыдущий Следующий

Для того что бы в WebHandler  подключить доступ, к сесси нужно реализовать интерфейс IRequiresSessionState. Этот интерфейс находиться в зборка using System.Web.SessionState;

У него нет методов, он служит просто как указатель. Указывает, что для целевого обработчика HTTP-данных требуется доступ для чтения и записи значений состояния сеанса. Пример:

<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;
using System.Web.SessionState;

//подключаем сессию
public class Handler : IHttpHandler, IRequiresSessionState
{
    public void ProcessRequest (HttpContext context)
    {
        //проверка реализована ли сессия(интерфейс)
        bool requiresSession = false;
        if (context.Handler is IRequiresSessionState)
            requiresSession = true;
       
        context.Response.ContentType = "text/plain";

        if (context.Session["Index"] == null)
        {
                context.Response.Write("Пусто!");
        }
        else
        {
               string text = context.Session["Index"].ToString();
               context.Response.Write(text);
        }   
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }
}

Комментарий:
Комментариев пока нету
Самостоятельный отпуск Опыт заказа вывоза мусора в Киеве