Aplicación de la web de Azure: los sockets web abortes después de 100 segundos -- # campo con azure-web-app-service campo con owin camp Relacionados El problema

Azure web app: Web sockets abort after 100 seconds


2
vote

problema

Español

Estoy escribiendo una aplicación de socket web que tengo la intención de alojarse en la nube con una aplicación web de Azure.

El zócalo web se implementa utilizando una pieza bastante estándar de Owin Middleware y es completamente funcional durante los primeros 100 segundos. Después de este tiempo, el teléfono web parece ingresar al estado abortado como el reloj.

  [CLIENT][06/04/2018 11:27:21] WS client connected [CLIENT][06/04/2018 11:29:01] WS client disconnected   

Probando esto en una instancia de IIS Express da el mismo problema, aunque el retraso parece ser de 90 segundos en lugar de 100 (esto también es consistente).

Ejecutando el mismo WebSocket que forma parte de una aplicación de Owin Authost Host produce estabilidad durante más de 25 minutos, por lo que esto definitivamente parece ser un problema causado por el servidor de alojamiento.

en el alojamiento de aplicaciones web de Azure He habilitado sockets web, y también intentó habilitar la función "Siempre en" con la esperanza de que esto evite el problema evitando que el servidor entre en un estado de espera, pero esto no tiene ayudado

¿Hay algún ajuste de Azure que no esté al tanto de eso, podría ser ajustado, de modo que estos enchufes web puedan permanecer abiertos durante períodos de tiempo más largos?

Muchas gracias

Original en ingles

I'm writing a web socket application which I intend on hosting on the cloud using an Azure web app.

The web socket is implemented using a fairly standard piece of Owin Middleware and is fully functional for the first 100 seconds. After this time the websocket seems to enter the aborted state like clockwork.

[CLIENT][06/04/2018 11:27:21] WS client connected [CLIENT][06/04/2018 11:29:01] WS client disconnected 

Trying this on an IIS Express instance gives the same issue, although the delay seems to be 90 seconds rather than 100 (this is also consistent).

Running the same websocket as part of an Owin self-host app yields stability for over 25 minutes - so this definitely seems to be a problem caused by the hosting server.

On the azure web app hosting I've enabled web sockets, and also tried to enable the "Always On" feature in hopes that this would prevent the issue by preventing the server from going into a standby state - but this has not helped.

Are there any azure settings that I'm not aware of that could be tweaked such that these web sockets can stay open for longer periods of time?

Many thanks

        

Lista de respuestas

3
 
vote
vote
La mejor respuesta
 

Desafortunadamente, parece que Azure e IIS eran criterios rojos, el problema fue un problema con experiencia con el uso de la implementación de C # de System.Net.websockets.clientwebsocket. El detalle se resume brillantemente en: . Los websockets netos cerraron a la fuerza a pesar de mantener vivos y la actividad en la conexión

Para otros que experimentan este problema, un trabajo efectivo (pero no ideal) es ejecutar la siguiente una vez antes de crear un socket web de cliente:

ServicePointManager.MaxServicePointIdleTime = int.MaxValue;

 

Unfortunately, it seems that azure and IIS were both red herrings, the issue instead was an issue experienced with using the C# implementation of System.Net.Websockets.ClientWebSocket. The detail is brilliantly summarized at: .NET WebSockets forcibly closed despite keep-alive and activity on the connection

To others experiencing this issue, an effective (but not ideal) work around is to run the following once before creating a client web socket:

ServicePointManager.MaxServicePointIdleTime = int.MaxValue;

 
 

Relacionados problema

14  ¿Por qué el token de acceso al almacenamiento en caché se considera malo en OAUTH2?  ( Why caching access token is consider bad in oauth2 ) 
Estoy siguiendo este artículo para revocar el acceso al usuario: http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-angularjs-app-using-asp-net-we...

5  Sesión de cierre correctamente en Owin MVC5  ( Closing session properly in owin mvc5 ) 
En nuestra aplicación web, que es MVC5, con OWIN, cuando nos registramos, tenemos este código: public ActionResult LogOut() { using (MiniPr...

5  ReactJS con ASP.NET API web Múltiples proveedores de autenticación externa  ( Reactjs with asp net web api multiple external authentication providers ) 
Tengo una aplicación Reactjs con un backend de API web. La autenticación se maneja en el lado de WEBAPI utilizando proveedores de inicio de sesión externos (G...

31  Cambiando el objeto de respuesta de Owin Middleware  ( Changing the response object from owin middleware ) 
My Owin Middleware es así. (Marco es ASP.NET WEB API). public class MyMiddleware : OwinMiddleware { public MyMiddleware(OwinMiddleware next) : base(nex...

-2  Conexión de autenticación del servidor en C #  ( Server authentication connection in c sharp ) 
Tengo un servidor web Azure con el que quiero conectarme con el nombre de usuario / contraseña. La autenticación del servidor es OWIN. También quiero envi...

1  ¿Cómo establecer el punto de interrupción en Configureauth?  ( How to set breakpoint in configureauth ) 
Necesito establecer un punto de interrupción en la configuración de la configuración para depurar un problema que estamos teniendo. El siguiente artículo afi...

0  OpenidConnectResponsTypes tiene CodeidToken, IDTOKEN y no contiene código como tipo de respuesta  ( Openidconnectresponsetypes has codeidtoken idtoken and it doesnt contain code a ) 
OpenidConnectResponsTypes tiene CodeidToken, IDTOKEN y no contiene código como tipo de respuesta. ¿Se recomienda la cogén de autoproducción de COOPENIDCONNECT...

10  Modificación de Owin Oauth Middleware para usar tokens del portador JWT  ( Modifying owin oauth middleware to use jwt bearer tokens ) 
Actualmente estoy tratando de crear una prueba de concepto para la autenticación basada en reclamaciones para una nueva aplicación utilizando una combinación ...

1  Almacenamiento / Recuperación de datos de usuario sin base de datos cuando se usa la autenticación de cookies Owin  ( Storing retrieving user data without database when using owin cookie authenticat ) 
¿Cómo almacenar y recuperar correctamente los datos que pertenecen a un usuario al usar la autenticación de cookies OWIN? No hay una base de datos disponible....

0  Error en una prueba de integración para ASP.NET MVC5 Web API 2, OWIN y AUTOFAC. Httpcontext falso  ( Error in a integration test for asp net mvc5 web api 2 owin and autofac fake h ) 
Tengo aplicación ASP.NET MVC5 y WEBAPI2 con algunos MVC y apicontrollers. Se usa OWIN y AUTOFAC. Escribí una prueba de integración que llama un método de API ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos