填充日志:与远程主机通信时发生错误

时间:2012-05-23 05:34:32

标签: iis-7

我们正在尝试了解此错误发生了什么,这只是用户与网站断开连接吗?

System.Web.HttpException  An error occurred while communicating with the remote host. The error code is 0x800703E3.  
System.Runtime.InteropServices.COMException  The I/O operation has been aborted because of either a thread exit or an application request. 
(Exception from HRESULT: 0x800703E3)  StackTrace:    
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.WriteFromStream(Byte[] data, Int32 offset, Int32 size)     
at System.Web.Mvc.FileStreamResult.WriteFile(HttpResponseBase response)     
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c <InvokeActionResultWithFilters>b__19()     
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.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)     
at System.Web.Mvc.Controller.ExecuteCore()    
at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)    
at System.Web.Mvc.MvcHandler.<>c__DisplayClass6.<>c__DisplayClassb.<BeginProcessRequest>b__5()   
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0()  
at System.Web.Mvc.MvcHandler.<>c__DisplayClasse.<EndProcessRequest>b__d() 
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()    
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)  

1 个答案:

答案 0 :(得分:4)

是的,当与用户的连接丢失时,会出现此错误。他们可能已关闭浏览器或已断开连接(或请求failed or was canceled)。

The answer to a similar question建议在调用Flush()

之前检查Response.IsClientConnected

might not even need to explicitly call Flush()