Publicidad

Utilizar sessiones en los controladotes HTTP genéricos


Por Alex el 26/11/2007, Comentar el artículo

Comparte este artículo:      




Recientemente me he encontrado con el caso que necesitaba recoger y crear sesiones en páginas ashx (generic handler), lo curioso es que estas páginas recogen el contexto de la aplicación pero no la sesión.


Este es el código que se genera cuando se crea una página ashx, un controlador genérico:

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

using System;
using System.Web;

public class Handler : IHttpHandler {

 public void ProcessRequest (HttpContext context) {
  context.Response.ContentType = "text/plain";
  context.Response.Write("Hello World");
 }

 public bool IsReusable {
  get {
   return false;
  }
 }

}

Como veis esta función recibe una variable context que recoge todas las variables de contexto de la aplicación podéis trabaja con Request.Form, QueryString pero no lee las sesiones.

Para poder trabajar con sesiones con este tipo de páginas hay que añadir los siguiente:

using System.Web.SessionState;

Y añadimos lo siguiente:

public class pruebas: IHttpHandler, IRequiresSessionState

Con esto tenemos solucionado el tema de poder leer y escribir en sesiones, que podemos hacer de la siguiente forma:

context.Session["PRUEBA"] = “SOY UNA PRUEBA”;

Si solo quisieramos leer en lugar de utilizar IRequiresSessionState utilizariamos IReadOnlySessionState.

Saludos,
Alex.


Si te ha gustado el artículo compartelo en:      



También puede interesarte:

Instalar .NET Core en Ubuntu

Instalar .NET Core en Ubuntu

Por Alex, el 07/02/2020

Limpiar datos de un combobox en winforms.

Limpiar datos de un combobox en winforms.

Por Alex, el 23/03/2010

Crear, copiar y borrar bases de datos SQL Server desde c#.

Crear, copiar y borrar bases de datos SQL Server desde c#.

Por Alex, el 07/03/2010

Escribir en un excel desde c#.

Escribir en un excel desde c#.

Por Alex, el 04/03/2010

Llenar un Repeater o DataList con un DataTable.

Llenar un Repeater o DataList con un DataTable.

Por Alex, el 29/12/2008

El evento SelectedIndexChanged no funciona

El evento SelectedIndexChanged no funciona

Por Alex, el 26/12/2008


Añadir un comentarios:

Nombre:
Email: (no se publica el email)




SIGUENOS EN

ARCHIVO

Publicidad

.