Foros del Web » Programando para Internet » ASPX (.net) »

Sesiones en ASP.Net

Estas en el tema de Sesiones en ASP.Net en el foro de ASPX (.net) en Foros del Web. Buenas, En ediciones anteriores (ASP 3.0) era supuestamente trágico y no recomendado el uso de las sesiones para mantener información, especificamente si esta era volátil, ...
  #1 (permalink)  
Antiguo 18/10/2005, 16:12
Avatar de yiyocastro  
Fecha de Ingreso: octubre-2004
Ubicación: Maracaibo, Venezuela
Mensajes: 314
Antigüedad: 19 años, 6 meses
Puntos: 0
Exclamación Sesiones en ASP.Net

Buenas,

En ediciones anteriores (ASP 3.0) era supuestamente trágico y no recomendado el uso de las sesiones para mantener información, especificamente si esta era volátil, sin embargo quisiera escuchar lo contrario con la nueva tecnología ASP.Net.

Aun no tengo informacion sobre cambios en la tecnologia sobre este tema (Sesiones), bueno un ejemplo sería que cuando nosotros buscamos el tópico "¿Como construir excelente aplicaciones?", una de las cosas que nos pide es que DESACTIVEMOS las sesiones cuando estas no se necesitan, tengo entendido que estas sesiones se guardan en Memoria RAM, es decir que cuando usamos (saturamos) esta utilidad, deberíamos tener en el servidor una gran cantidad de memoria RAM.

Lástima que haya perdido en mis favoritos un link importante sobre los tipos de ataques por los que tiene vulnerabilidad ASP.Net; recuerdo que recomendaba que usaramos el ViewStateUserKey, textualmente MSDN dice:


Establecer la propiedad ViewStateUserKey puede ayudar a evitar que usuarios maliciosos realicen ataques en la aplicación con un solo clic. Esta propiedad permite asignar un identificador a la variable de estado de vista de usuarios individuales de manera que no puedan utilizar la variable para generar ataques con un solo clic. Esta propiedad se puede establecer en cualquier valor de cadena, como el identificador de sesión del usuario o el nombre autenticado del usuario.
Nota Esta propiedad debe establecerse durante la fase Page_Init del procesamiento de la página. Si esta propiedad se establece durante la fase Page_Load, se inicia una excepción.
Uno de los criterios más importantes al hacer una aplicacion web es definir exactamente donde podriamos almacenar los datos, he leido poco sobre el Motor de Cache que ofrece ASP.Net, dice que es fantástico. Ahora tengo mi duda ¿Donde se guarda la informacion de Cache, en RAM o Disco Duro?. Tengo seguridad sobre las Sesiones que se guardan en RAM. Otra de mis dudas es establecer escenarios, corrijanme si me equivoco al decir de que es más eficiente el Cache para guardar elementos más pesados y que las Sesiones es para guardar informacion con poco peso. Bueno esta es mi conclusion en caso que el Cache no se guarde en RAM.

Tengo mi duda al decir ¿Es recomendable usar la utilidad de la Sesion?, no la se. Pero para eso estamos aquí, para aclarar las dudas.
__________________
Nada es verdad, nada es mentira, todo esta en el cristal con que lo miras. :si:
  #2 (permalink)  
Antiguo 18/10/2005, 17:27
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
HAblar del cache, session la verdad son temas bastante amplios los cuales dependen mucho de lo que estés haciendo, invariablemente no es lo mismo guardar en session que en cache.. porque??

la cache permanecerá en memoria dependiendo como la hayas establecido, si fue que se quede determinado tiempo, si al momento de haber cambios se va a crear una nueva, si se va a quedar de forma permanente, etc, esto aplica mas en cosas fijas, por ejemplo.. si tienes un sistema de reportes que esta corriendo las 24 horas sobre una grid no lo puede poner en cache porque no se verían los últimos cambios, pero podrías poner en cache los objetos que ocupas en tu capa de datos para que la instancia sea mucho más rápida.

En cambio con las sessiones son por usuario, las cuales tambien se quedan en la memoria del server, pero las puedes liberar cuando quieras de forma independiente, y por ejemplo si guardaras en session los objetos para tu acceso a datos sería algo totalmente malo ya que imaginate que por cada usuario guarde esa referencia, si entran mas de 1000 al mismo tiempo, no quiero imaginarme como estaría tu server.

Por ello la cache ya tiene una sola referencia para todos los demas, y ya sabrá el contenido todo el tiempo de lo que debe hacer.

Es un ejemplo, no quiere decir que siempre sea así, depende mucho tu server, memoria, rating, etc.., y sobre todo la arquitectura que estés manejando, y el cuidado que debes tener.

Son ideas generales.. espero que te sirvan de refencia.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 18/10/2005, 19:29
Avatar de yiyocastro  
Fecha de Ingreso: octubre-2004
Ubicación: Maracaibo, Venezuela
Mensajes: 314
Antigüedad: 19 años, 6 meses
Puntos: 0
Cita:
pero podrías poner en cache los objetos que ocupas en tu capa de datos para que la instancia sea mucho más rápida.
No entiendo muy bien cuando te refieres a lo subrayado. Podrías ser tan amable de explicarme.
__________________
Nada es verdad, nada es mentira, todo esta en el cristal con que lo miras. :si:
  #4 (permalink)  
Antiguo 18/10/2005, 23:57
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Es una de las capas del proceso que hay en los desarrollos y se encarga de consultar y actualizar las entidades de negocio de la aplicación en los sistemas de almacenamiento, recuerda que tenemos también por ejemplo la de presentacion, regla de negocios, etc..etc..

Entonces me refería a que puedes colocar en cache por ejemplo los parámetros que se estés ocupando en ese momento para que el acceso sea más óptimo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:15.