damian, esto hice algo similar a lo que vos mencionas
Pero tengo un problema, ya qiue seguramente encare algo mal de entrada
Cuando Incia mi aplicacion tengo un Objeto USApplication que contiene
informacion de la empresa que inicio y otros datos generales, que lo pongo
en HttpContext.Current.Aplication("USApp")
Cuando un usuario inicia sesion tengo otro objeto USSession que tiene el
IDUsuario, fecha inicio, procesos a lso que puede acceder, etc, que lo pongo
en HttpContext.Current.Session("USSes")
Luego tengo un Helper que
GetApp --> que devuelve el valor de HttpContext.Current.Aplication("USApp")
GetSes --> que devuelve el valor de HttpContext.Current.Session("USSes")
En capas de servicios/mapers por ejemplo tengo un proceso que consulta datos
y debe obtener siempre los del usuario que se logueo, entonces armo un
filtro con el usuario de la session
Ej: "IDUser = " & GetSes.IDUser
Hasta ahi venia todo bien
Cuando se invoca desde un WebService, y las llamadas en capas subsiguientes,
Servicios, Entidades, Mapper, tengo acceso al HttpContext.Current
Resulta que ahora tuve que hacer unos procesos en el logion de usuario, Ej,
ejecutar tareas programadas del usuario al inicio de sesion, que generan
algun reporte y lo envian por mail
Pero esto no lo puedo hace rsincronico en el login, porque sino el ingreso
del usuario demora mucho.
Entonces se me ocurrio lanzar la ejecucion de esas tareas en un Thread
distinto
Pero me encontre que el HttpContext.Current no existe mas, Nothing, y por lo
tanto mis metodos GetApp y GetSes dan error y no puedo utiliza los valores
Creo que el tema es que no deberia almacenar mis objetos en el
HttpContext.Current,
Con el obketo USAplication, lo veo factible de ponerlo como una variable
Shared o algo similar, pero con las sesiones, necesito que de alguna forma
poder devolver la sesion de usuario y no lo veo,
Pensaba un diccionario shared, pero con que key lo acceso, ya que tampoco
tengo el HttpContext.Current.SessionID
Alguna idea???
Ing. Diego M. Basélica
e-mail: [EMAIL PROTECTED]
UpSoft Sistemas Informáticos
Rafael Nuñez 3498 (X5009CFO) Córdoba, Argentina
Tel/Fax: 0351-4814812 (rot.)
www.upsoft.com.ar
_____
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Damián
Herrera
Enviado el: Jueves, 16 de Agosto de 2007 15:33
Para: [email protected]
Asunto: [puntonet] HttplContext (Session y Aplication)
Hola Diego,
Podes crearte una especie de wrapper tuyo que encapsule el uso de
HttpContext y de acuerdo al contexto en el que corres (Web o Win) utilizas
el contexto adecuado.
Yo por ejemplo lo utilizo de esta manera:
Public Shared Sub [Add](ByVal pKey As String, ByVal pValue As Object)
Mutex.WaitOne()
If HttpContext.Current Is Nothing Then
CallContext.FreeNamedDataSlot(pKey)
CallContext.SetData(pKey, pValue)
Else
HttpContext.Current.Items.Remove(pKey)
HttpContext.Current.Items.Add(pKey, pValue)
End If
Mutex.ReleaseMutex()
End Sub
Saludos,
Damián Herrera
_____
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Diego
Baselica
Sent: Thursday, August 16, 2007 1:44 PM
To: [email protected]
Subject: [puntonet] HttplContext (Session y Aplication)
Hola estoy buscando una solucion para reemplazar el HttpContext.Current, ya
que alli estao almacenando mis objetos de sesion de usuario, pero cuando
utilizo otros hilos de ejecucion, pierdo dicho contexto y mi proceso falla
Buscando encontre una supuesta solucion en el sitio de AJlopez Create your
<http://www.ajlopez.net/ArticuloVe.php?Id=634> own HttpContext class , pero
el link no funciona, asi que queria saber si alguien por casualidad tiene
elgo de este material o referirme a otro lugar donde buscarlo.
O alguna otra solucion para este tipo de problemas
Muchas gracias
<mailto:[EMAIL PROTECTED]>
Ing. Diego M. Basélica
e-mail: [EMAIL PROTECTED]
UpSoft Sistemas Informáticos
Rafael Nuñez 3498 (X5009CFO) Córdoba, Argentina
Tel/Fax: 0351-4814812 (rot.)
www.upsoft.com.ar
__________ Información de NOD32 2466 (20070816) __________
Este mensaje ha sido analizado con NOD32 Antivirus System
http://www.nod32.com