异常(消息):远程主机关闭了连接。错误代码是0x800703E3

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常(消息):远程主机关闭了连接。错误代码是0x800703E3相关的知识,希望对你有一定的参考价值。

我在我的应用程序中收到此错误。我在错误日志中经常看到这些错误,但我不确定来源。这是错误的堆栈跟踪。

Exception (Stack):    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.Mvc.FileContentResult.WriteFile(HttpResponseBase response)     
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17()     
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)     
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)     
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult)

但在做了一些谷歌搜索后,我发现原因可能是我下载文件的方式,但我不确定。这也是源代码。

string Id = id.Split(new[] { '!' }).First();
DocumentInfo Content = Doc.ContentDownLoad(Settings, docId);
Response.Clear();
Response.BufferOutput = false;  
fileName = Content.DocName + "." + Content.FileExtn;
Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName);

return File(Content.Content, Content.MimeType);

我尝试了一些建议的解决方案,但没有任何工作。有人可以提出可行的解决方案吗我在这做错了什么?

答案

此异常表示用户通过关闭浏览器或导航到另一个页面,在文件下载完成之前关闭了连接。用户永远不会看到此错误,但Elmah会记录它。您可以在写入下游之前检查您的客户端是否已连接,但它无法完全解决问题。

if (Response.IsClientConnected)
{
   // write your file to down stream 
}

我建议你使用Elmah的过滤器来阻止Elmah记录它。 elmah Error Filtering

以上是关于异常(消息):远程主机关闭了连接。错误代码是0x800703E3的主要内容,如果未能解决你的问题,请参考以下文章

Python异常:ConnectionError 10054远程主机强制关闭现有连接

EWS 连接被远程主机强行关闭

异常详细信息: System.ComponentModel.Win32Exception: 远程主机强迫关闭了一个现有的连接。

异常详细信息: System.ComponentModel.Win32Exception: 远程主机强迫关闭了一个现有的连接。

UDP错误10054:远程主机强迫关闭了一个现有的连接

读取大型 .accdb 文件引发异常“现有连接被远程主机强行关闭”