FIX: ASP.NET에서 웹 서비스를 호출할 때 간헐적으로 "기본 연결이 닫혔습니다" 오류 메시지가 나타난다

증상

ASP.NET 응용 프로그램에서 Microsoft ASP.NET 웹 서비스를 호출할 때 다음과 같은 오류 메시지가 일시적으로 나타날 수 있습니다.
기본 연결이 닫혔습니다: 보내기에서 예기치 않은 오류가 발생 했습니다.
호출 스택은 다음과 비슷합니다.
System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. At System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at 
System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request) at
System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at
...

해결 방법

지원 되는 핫픽스를 Microsoft에서 출시 되었습니다. 그러나이 문서에서 설명 하는 문제를 해결 하는 데 사용 됩니다. 이러한 특정 문제가 발생 한 시스템에만 적용 됩니다. 이 핫픽스는 추가 테스트가 필요할 수 있습니다. 따라서이 문제로 심각 하 게 영향을 받지 않습니다이 핫픽스가 포함 된 다음 Microsoft.NET Framework 서비스 팩이 나올 때까지 기다리는 것이 좋습니다.

이 문제를 즉시 해결 하려면 핫픽스를 얻으려면 Microsoft 고객 지원 서비스에 문의 합니다. Microsoft 고객 기술 지원부 전화 번호 및 지원 비용에 대 한 정보를 전체 목록은 다음 Microsoft 웹 사이트를 방문.참고: 특별 한 경우에 Microsoft 기술 지원 전문가가 특정 업데이트로 문제를 해결할 수 있는지 결정 하는 경우 일반적으로 지원 요청에 따른 비용이 취소 될 수도 있습니다. 추가 지원 질문과 특정 업데이트가 필요 하지 않은 문제에는 일반 지원 비용이 적용 됩니다.

이 핫픽스의 영어 버전은 다음 표에 열거된 파일 특성 (또는 그 이후의 파일 특성)을 가지고 있습니다. 이러한 파일의 시간과 날짜는 협정 세계시(UTC)로 나열되었습니다. 파일 정보를 볼 때는 로컬 시간으로 변환됩니다. UTC와 로컬 시간의 시차는 제어판의 날짜 및 시간 항목에서 표준 시간대 탭을 사용하여 찾을 수 있습니다.
   Date         Time   Version       Size       File name                    Platform
----------------------------------------------------------------------------------
01-May-2003 12:48 1.0.3705.426 20,480 Perfcounter.dll X86
01-May-2003 12:48 1.0.3705.426 1,175,552 System.dll X86
01-May-2003 12:48 1.0.3705.426 311,296 System.runtime.remoting.dll X86
01-May-2003 12:48 1.0.3705.426 503,808 System.web.services.dll X86
이 핫픽스는.NET Framework 1.0 서비스 팩 3 및.NET Framework 1.1 서비스 팩 1에 포함 되어 있습니다.

최신.NET Framework 1.0 서비스 팩을 구하는 방법에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 합니다.

318836 최신.NET Framework 1.0 서비스 팩을 구하는 방법

상태

Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.

자세한 내용

"현상" 절에 나와 있는 오류 메시지가 유효한 이유로 발생할 수 있습니다. 예를 들어, 기본 연결이 클라이언트의 제어를 벗어난다는 종료 되었을 수 있습니다. 이런 상황에서 Microsoft.NET Framework 제대로 동작 합니다.

예를 들어, 소프트웨어 또는 HTTP 1.1 및 keep-alive 연결을 지 원하는 서버를 포함 하는 하드웨어 부하 분산 환경에서 호출 되는 웹 서비스를 호스트 하는 경우 클라이언트 연결을 다시 사용 하려고 때까지 연결이 끝난 것 같습니다. 이 수정 프로그램을 적용 한 후에이 오류가 계속 발생 하는 경우 다음과 같은 방법을 시도해 보십시오.
  • Keep-alive 연결을 사용 하는 웹 서비스를 호스팅하는 웹 사이트를 구성 합니다. 이렇게 하려면, 다음 단계를 수행하십시오.
    1. Microsoft 인터넷 정보 서버 (IIS) 관리 콘솔을 열고 웹 서버를 찾습니다.
    2. 웹 사이트 탭의 웹 사이트에 대 한 속성 페이지를 클릭 합니다.
    3. HTTP 연결 유지 사용 확인란의 선택을 취소 합니다.
  • 응용 프로그램 요구 사항에 대 한 로드 균형 조정 하드웨어나 소프트웨어가 제대로 구성 되어 있는지 확인 하십시오.
  • 사용자가 서버 환경에 대 한 제어 호스트 하는 웹 서비스를 호출 하는 클라이언트 쪽 keep-alive 연결을 사용 하지 않으려면 수도 있습니다. 이렇게 하려면, 다음 단계를 수행하십시오.
    1. KeepAlive 속성을 설정 하면
      HttpWebRequest 클래스 false입니다.
    2. Microsoft Visual Studio.NET에서 웹 클라이언트 프록시에 대해 생성 된 Reference.cs 파일에서 HttpWebRequest 메서드를 재정의 합니다. 다음 코드는 HttpWebRequest 메서드를 재정의 합니다.
      protected override WebRequest GetWebRequest(Uri uri) {
      HttpWebRequest webRequest = (HttpWebRequest) base.GetWebRequest(uri);

      webRequest.KeepAlive = false;

      return webRequest;
      }

참조

.NET Framework 1.1 서비스 팩 1을 구하는 방법에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 합니다.

Microsoft.NET Framework 1.1 서비스 팩 1을 구하는 885055 방법

속성

문서 ID: 819450 - 마지막 검토: 2017. 2. 7. - 수정: 1

피드백