No puedo obtener los datos de la sesión de mientras que en la api de web 2. He comprobado que la cookie se envía en fiddler.

Sé que la api de web 2 la mejor práctica es ser apátrida, pero debido a los requisitos en un proyecto es necesario ahora para ser completo.

He probado este enlace.
WebAPI 2 atributo habilitar enrutamiento de estado de sesión

var session = SessionStateUtility.GetHttpSessionStateFromContext(HttpContext.Current)

Con la solución anterior, me estoy haciendo una excepción nula en esa función.

Yo también trató de replicar la forma de hacer esto de la manera que lo haría en la antigua web de la api mediante la modificación de la requesthandler de la ruta, pero que no está disponible en la api de web 2.

Que en la actualidad establecer algunas variables de sesión en mvc5. Esto funciona y la sesión se mantiene, pero en el momento que yo estoy tratando de usar la sesión, mientras que en la api de web 2 el siguiente es nulo.

HttpContext.Current.Session
  • Usted necesita no sólo para confirmar que la cookie se envía; usted necesita para confirmar que es la misma cookie de IDENTIFICACIÓN de sesión, como se utiliza en la aplicación MVC. Apuesto a que tienes dos diferentes identificadores de sesión.
  • Ellos no son diferentes. También he comprobado que tienen el mismo sessionID.
  • Tengo la situación en la que estamos hablando-se me distintos identificadores de sesión. ¿Por qué ocurre eso?

2 Comentarios

  1. 53

    Agregar

    protected void Application_PostAuthorizeRequest() 
    {
        System.Web.HttpContext.Current.SetSessionStateBehavior(System.Web.SessionState.SessionStateBehavior.Required);
    }

    global.asax

    • Dulce trabajado tratar. En este trabajo en Windows Azure sitios web en una granja de servidores web utilizando Redis o algo?
    • Este evento no fuego para mí?
    • Trabajó …. !!!
    • No estoy seguro de si yo soy la prueba correctamente, pero para mí el sessionId es diferente al recuperar en un controlador mvc y una api controlador, lo que lo hace inútil para mí.
  2. 1

    Si PostAuthorizeRequest no funciona, entonces intenta BeginRequest.

    • mente a elaborar?
    • Yo creo que él estaba hablando acerca de la @Dejo la respuesta

Dejar respuesta

Please enter your comment!
Please enter your name here