Intentando hacer un método web asíncrono

El proyecto en el que estoy trabajando actualmente involucra MS SQL Server y ASP.net Web Services que usan variables de sesión. Aparentemente, esto hace que las llamadas de un cliente se ejecuten de manera secuencial. Quiero asegurarme de que estos métodos se ejecuten de forma asíncrona.

Después de investigar un poco, me parece que el método más elegido es conservar el estado de la sesión en la base de datos usando una tabla que rastrea las sesiones (usando guids, por ejemplo) y tablas separadas para cada sesión.

Antes de sumergirme directamente en esto, necesito saber si puedo obtener el mismo sentido de operaciones asincrónicas para el servicio web si configuro SQL Server para almacenar la sesión.

Yo puedo ?

preguntado el 04 de julio de 12 a las 09:07

1 Respuestas

Lamento decir eso, pero la única forma de ejecutar de forma asincrónica su código y usar variables de sesión es hacer su solución de sesión totalmente personalizada, y me refiero a totalmente personalizada y deshabilitar la sesión asp.net por completo.

Consejos básicos para realizar tu sesión:

  1. Tienes una cookie conectada con los datos de los usuarios.
  2. Los datos están en una tabla en su base de datos.
  3. Crea campos personalizados en esa tabla para cada sesión y evita Dictionary<> para mantenerlos
  4. Usted trabaja con Lectura sucia, la última escritura gana
  5. Lees y escribes solo las variables de sesión que necesitas cada vez (no todas juntas)
  6. Cada línea tiene una fecha de caducidad y se usa como MS, un programador en SQL para eliminar sesiones antiguas.
  7. Cargar sesión en OnPreInit, guarde solo lo que tenga cambio OnUnload
  8. Al deshabilitar completamente la sesión, debe bloquear usando Mutex El código que ahora funciona bien porque la sesión se sincroniza sin notarlo, pero sin el bloqueo de la sesión, tal vez se ejecute dos veces, como una nueva inserción en las llamadas a la base de datos.

relativo:

Aplicación web bloqueada al procesar otra aplicación web al compartir la misma sesión
¿Qué contadores de rendimiento son útiles para identificar los cuellos de botella de ASP.NET?
Reemplazo de la sesión de ASP.Net por completo

para responder y a esta pregunta if I configure SQL Server to store the session ? la sesión aún está bloqueada y bloquea la solicitud de descanso. Si tiene la sesión en el servidor SQL o en otro medio, no cambie la forma de trabajar, solo el lugar de los datos guardados.

contestado el 23 de mayo de 17 a las 11:05

@TWickz Tengo que hacer todo eso :) no es tan difícil, solo unos pocos días. - Aristóteles

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.