L'hôte distant a fermé la connexion Erreur, comment réparer?
je suis en utilisant elmah -> Elmah.axd dans mon projet pour trouver les erreurs.
il y a une erreur comme ceci :
System.Web.HttpException: The remote host closed the connection. The error code is 0x800703E3.
Generated: Sun, 27 Nov 2011 13:06:13 GMT
System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Web.HttpException (0x800703E3): The remote host closed the connection. The error code is 0x800703E3.
at System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result, Boolean throwOnDisconnect)
at System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush()
at System.Web.HttpResponse.Flush(Boolean finalFlush)
at System.Web.HttpWriter.TransmitFile(String filename, Int64 offset, Int64 size, Boolean isImpersonating, Boolean supportsLongTransmitFile)
at System.Web.HttpResponse.TransmitFile(String filename, Int64 offset, Int64 length)
at SalarSoft.Utility.SP1.ResumeDownload.ProcessDownload(String fileName, String headerFileName)
at NiceFileExplorer.en.Download.DownloadFile_SalarSoft(String fileName)
at NiceFileExplorer.en.Download.GoForDownloadFile(String filepath)
at NiceFileExplorer.en.Download.MainCodes()
at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
pendant le travail avec le site web, nous ne n pas cette erreur.
mais elmah envoyer cette erreur pour moi de très nombreuses fois.
ce que cette erreur et comment puis-je résoudre ce problème?
EDIT 1
{mon site web pour télécharger les fichiers mobiles et quelques fois il est vraiment occupé}
{je suis avec windows server 2008 r2-> accès distant}
EDIT 2 après le commentaire
certains de windows des informations et des avertissements (il n'y a pas d'erreur) les journaux d'aujourd'hui sont comme ci-dessous :
avertissement
Un processus servant de pool d'applications 'ASP.NET 4.0 (Intégré)' a
les limites de temps lors de l'arrêter. L'id de processus a '6764'.
avertissement
Un processus de travail 3232 " servant de pool d'applications 'ASP.NET 4.0
(Intégré)' a omis de s'arrêter à un écouteur de canal pour le protocole "http" dans
le temps imparti. Le champ de données contient le numéro de l'erreur.
avertissement
Un processus servant de pool d'applications 'ASP.NET 4.0 (Intégré)' a
les limites de temps lors de l'arrêter. L'id de processus a '3928'.
source d'informationauteur SilverLight
Vous devez vous connecter pour publier un commentaire.
Je le vois beaucoup dans les logs d'un site que j'ai construit.
Autant que je sache, cette exception signifie que le client a rompu la connexion (je suis allé à une autre page /fermé le navigateur) avant que la page a fini de charger. Si le client est le téléchargement d'un fichier de cette erreur est d'autant plus probable qu'ils ont plus de temps pour décider de l'arrêter ou se déplacer sur.
L'erreur n'est pas visible pour les utilisateurs* - donc, j'ai juste supprimé de la Elmah journaux.
*Le site autorise uniquement les utilisateurs authentifiés. Je peux le voir dans Elmah qui ont vécu l'erreur et quand. J'ai demandé à les utilisateurs, et pas une seule personne a jamais déclaré avoir été victimes de ce bug dans le client.
Je suis tombé sur cela aujourd'hui, et pour moi, c'était la même chose parce que le socket expiration du délai d'attente pour le côté distant d'envoyer.
Dans cet exemple, une très (ou volontairement) la lenteur client pourrait provoquer l'exception.
J'ai choisi de le résoudre en augmentant le délai de réception (sur mon sockets, depuis que j'ai voulu soutenir un peu plus lent clients qui ont été imposés avec le haut de la configuration SSL.
Je suis tombé sur cette erreur lorsque l'utilisateur a annulé l'téléchargement de fichiers. Du côté du serveur, il se produit une Exception avec le message L'hôte distant a fermé la connexion. Le code d'erreur est 0x800703E3. Toutefois, l'exception n'a pas de type distinct qui peuvent être traitées séparément.
Dans odrer de le manipuler en ASP.NET MVC correctement, j'ai ajouté un logger:
Et WebExceptionLogger implémentation de la classe:
J'ai remarqué que ce specifict type d'erreur HResult = -2147023901, c'est ce que je suis le filtrage par.
Espère que cette aide.
Peu en retard pour cette partie, mais dans le cas où il aide les autres, la Réponse.Close() a été l'origine de l'exception dans ma situation.
J'ai été voir l'exception, décrit par l'OP, capturé par Elmah.
Cela a lieu en raison de la fermeture de la réponse (le code que j'ai a l'appui a été écrit à la Réponse au flux de sortie):
Retrait
Response.Close();
arrêté de l'exception levée.