Hola Diego, Insisto en mi recomendacion de dejar el context tal como esta, no vas a encontrar nada mejor para ese tipo de trabajo (otras opciones son hacer algo thread static o el CallContext, pero son peligrosas). Entiendo que deberias hacer algo especial para lo que mencionas, por ejemplo una clase especial para disparar el thread, cuando la inicializas, pasas por el contructor "GetSes.IDUser" y lo almacenas en una variable de instancia. Luego haces un threadstart sobre un metodo de esa clase y tenes acceso local a los datos. Carlos
_____ From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Diego Baselica Sent: Jueves, 16 de Agosto de 2007 06:12 p.m. To: [email protected] Subject: [puntonet] HttplContext (Session y Aplication) 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 <http://www.ajlopez.net/ArticuloVe.php?Id=634> your 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
