본문 바로가기

Developer

원격 호스트와 통신하는 동안 오류가 발생했습니다. 오류 코드는 0x80070057입니다.

 

파일을 출력하는 과정 중 Response.End()에서 발생된 HttpException

 

영문의 경우는 아래와 같이 출력됩니다.

 

Exception Type:System.Web.HttpException
The remote host closed the connection. The error code is 0x80072746.

 

 

위치: System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result, Boolean throwOnDisconnect)
위치: System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush()
위치: System.Web.HttpResponse.Flush(Boolean finalFlush)
위치: System.Web.HttpResponse.End()
위치: HPW.Portal.Common.SPWeb.Layouts.MultiFileUpload.MultiDownLoad.Page_Load(Object sender, EventArgs e)
위치: System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
위치: System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
위치: System.Web.UI.Control.OnLoad(EventArgs e)
위치: Microsoft.SharePoint.WebControls.UnsecuredLayoutsPageBase.OnLoad(EventArgs e)
위치: Microsoft.SharePoint.WebControls.LayoutsPageBase.OnLoad(EventArgs e)
위치: System.Web.UI.Control.LoadRecursive()
위치: System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

해결 방법은 아래와 같은 코드로 가능합니다.
 

if (Response.IsClientConnected)
{
	Response.End();
}

 

이 녀석이 끊어지는 이유는 아래와 같습니다. (여기를 선택하여 이동)

  • 클라이언트 연결이 종료된 경우. Close 메서드가 호출되었거나 클라이언트가 웹 페이지 실행을 중지했거나 다른 페이지로 이동한 경우 연결이 종료될 수 있습니다.

  • 요청을 처리 중인 HttpWorkerRequest 개체가 null이거나 HttpWorkerRequest.IsClientConnected 메서드에서 false를 반환하는 경우. 사용자 지정 HttpWorkerRequest 개체가 요청을 처리하는 경우 사용자 지정 기준에 따라HttpWorkerRequest.IsClientConnected 메서드를 설정할 수 있습니다. 예를 들어, 사용자 지정 작업자 요청에서 일정 기간 후에 시간 초과를 강제할 수 있습니다.

 

이상입니다.