none
Concurrencia de peticiones con Session RRS feed

  • Pregunta

  • Hola,
    En mi aplicación web y por lo que he leido, usando la session que proporciona .NET las peticiones para un mismo usuario pasan a ser concurrentes (una detrás de otra) en lugar de hacer-se de forma paralela. Con lo que si una página por ejemplo tiene 4 grids y cada uno de ellos se carga por su cuenta, haciendo así 4 peticiones a servidor; mientras se ejecuta la primera las otras 3 deben esperar a que esta acabe.
    Hay forma de que esto no suceda y todo se ejecute en paralelo?
    Tiene que ver con cambiar el SessionStateMode en el web.config y/o usar la siguiente directiva en web.config también?
    <system.web>
        <pages enableSessionState="ReadOnly"/>
    </system.web>
    

    Es decir usando esa directiva y aplicandolo como dice aquí (http://www.gbogea.com/2010/03/18/concurrency-in-aspnet-sessions) funcionaria?
    Cualquier ayuda/idea es buena, gracias.

    Vota mi respuesta si te ha sido útil. Gracias.
    jueves, 26 de enero de 2012 17:01

Respuestas

  • >Es decir usando esa directiva y aplicandolo como dice aquí (http://www.gbogea.com/2010/03/18/concurrency-in-aspnet-sessions) funcionaria?

    Sí... y no :)

    A ver, lo que dice el artículo es totalmente cierto: en un momento dado (como diría Cruyff) puede haber o n peticiones concurrentes que como máximo lean la sesión o tan solo una que lea y escriba. Totalmente cierto en este punto.

    Lo que no te funcionaría es usar <%@ Page EnableSessionState %> porque en ASP.NET MVC no aplica (de hecho en Razor ni tan siquiera es válido). En su lugar se usa el atributo [SessionState] en las acciones de los controladores:

    [SessionState(SessionStateBehavior.ReadOnly)] 
    public class MiControladorQueSoloLeeDeSesion : Controller
    {
    }

    http://msdn.microsoft.com/en-us/library/system.web.mvc.sessionstateattribute.aspx

    Un saludo!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Marcado como respuesta Eder Costa viernes, 26 de octubre de 2012 13:35
    lunes, 30 de enero de 2012 11:47