asp.net puede encontrarse un problema de compartición de sesiones durante el desarrollo o el despliegue, ¿cómo compartir sesiones entre diferentes aplicaciones? Hoy lo busqué, hay muchos métodos en Internet, entre los que el uso de sesiones de compartición de bases de datos SqlServer es el más común; si necesitas ir solo a Baidu, saldrá. ¿Pero no sería un gran problema si la base de datos no fuera SqlServer sino otra cosa como Oracle? Por suerte, hoy he encontrado otra forma de implementar el compartición de sesión sin usar la base de datos, es decir, usando el método StateServer. Sin más preámbulos, echa un vistazo a los pasos de implementación:
1. Abrir el registro, ejecutar cmd/regedit y encontrar el nodo HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\aspnet_state\Parameters
a. Establecer el valor AllowRemoteConnection en 1
[b. Establecer el valor del puerto a a5b8 (hexadecimal), es decir, decimal 42424 (por defecto)]
Lo anterior permite literalmente la conexión remota y la configuración de puertos
2. Cambiar el tipo de inicio del servicio informático "ASP.NET Servicio Estatal" a Automático y iniciar el servicio al mismo tiempo.
3. Añádelo bajo el nodo system.web en el archivo web.config del proyecto web A y del proyecto web B, respectivamente
Recuerda reemplazar por la IP del servicio y el puerto establecido en el paso 1
4. Añadir el siguiente código al Global.asax.cs del proyecto web A y del proyecto web B respectivamente
Presta atención a dosAPPNAME debería estar configurado igual。 Lo anterior resuelve el problema de compartir sesiones. Las soluciones anteriores se mencionan aquí
Finalmente, puedes probar que puedes escribir Sesión en el proyecto web A para leer en el proyecto web B, o escribir Sesión en el proyecto web B para leerlo en el proyecto web A.
|