iis - remote - Cliente desconectado
set time limit for disconnected sessions (3)
Esto también ocurre cuando su página le permite al usuario final hacer varias devoluciones de datos parciales sin esperar la respuesta. Es decir, suponga una tabla donde un clic en una fila realiza una devolución de datos parcial y le muestra los detalles de esa fila. Ahora, si el usuario hace una fila y sin esperar detalles, hace clic en otra fila ... es probable que ocurra esta excepción.
ASP.NET AJAX abandona la solicitud que ya se está ejecutando cuando se realiza una nueva solicitud asincrónica.
Sin embargo, lo que queda por entender es por qué IIS permite que tal solicitud abandonada llegue a ASP.NET en absoluto.
A menudo recibo un mensaje de Cliente desconectado. No uso el equilibrio de carga, solo un servidor IIS. Necesito saber qué está causando esto y cómo solucionarlo.
Aquí está la información de excepción:
Type: System.Web.HttpException
Message: The client disconnected.
Exception Data:
Source: System.Web
TargetSite: Void ThrowError(System.Exception, System.String, System.String, Boolean)
StackTrace:
at System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError)
at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)
at System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState)
at System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState)
at System.Web.UI.HiddenFieldPageStatePersister.Load()
at System.Web.UI.Page.LoadPageStateFromPersistenceMedium()
at System.Web.UI.Page.LoadAllState()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Es posible que los usuarios cancelen la página posterior a la copia de seguridad haciendo clic en DETENER o RECARGAR en el navegador. ¿Su aplicación tiene algunas páginas que son bastante pesadas, por ejemplo, muchas de viewstate, y tiene usuarios que están en conexiones más lentas, por ejemplo, acceso telefónico?
TAMBIÉN obtenemos esta excepción, y la obtenemos de una manera completamente repetible. Esta excepción se produce cuando ViewState
ha convertido en "grande" y el usuario hace clic en un botón antes de que se complete una solicitud anterior ...
En nuestro caso, esto sucede muy fácilmente porque la publicación posterior está usando ajax, por lo que el navegador no deja de responder mientras se está enviando ViewState
al servidor. Al hacer clic en este control, se produce la excepción una y otra vez.