lunes, 5 de enero de 2009

ASP.NET - Acceder al objeto Session desde HttpHandler

Ocurre que cuando tratamos de acceder desde una clase que deriva de IHttpHandler a las sesiones creadas en nuestra aplicación web... no podemos. Así es, para lograr nuestro objetivo, debemos añadir en la cabecera el namespace
using System.Web.SessionState;
y en la clase HttpHandler añadimos la interfaz IReadOnlySessionState, si sólo queremos recuperar los valores del objeto sesión.... pero si queremos leer/escribir desde el httpHandler al objeto sesión, añadimos la interfaz IRequiresSessionState...que quede claro que no es necesario implementar ningún método de estas interfaces....
veamos un retazo de código:

using System.Web.SessionState;

public class Handler1 : IHttpHandler, IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
SomeFunctionality();
}

public bool IsReusable
{
get
{ return false; }
}

private void SomeFunctionality()
{
HttpContext.Current.Session["xx"] = "1";

string x = HttpContext.Current.Session["xx"].ToString();
//more code go here.......
}
}


Interesante... no les parece?

No hay comentarios.: