수정: Microsoft .NET Framework 2.0 서비스 팩 2를 기반으로 하며 웹 서비스 호출을 호출하는 애플리케이션은 Windows 7을 실행하는 컴퓨터에서 비동기적으로 예외를 throw합니다.

적용 대상
Windows 7 Enterprise Windows 7 Enterprise N Windows 7 Professional Windows 7 Professional N Windows 7 Ultimate Windows 7 Ultimate N

증상

Windows 7을 실행하는 컴퓨터에서 다음 증상 중 하나 이상이 발생합니다.

증상 1

다음 시나리오를 고려하세요.

  • 서버에서 Microsoft .NET Framework 2.0 SP2(서비스 팩 2)를 사용하는 비동기 웹 서비스를 실행합니다.

  • HttpWebRequest 비동기 작업은 웹 서비스에 웹 요청을 보냅니다.

  • 웹 서비스에서 예외를 throw합니다.

이 시나리오에서 HttpWebRequest 비동기 작업은 BeginGetResponse 메서드 또는 콜백 함수를 호출하지 않습니다. 그러나 HttpWebRequest 비동기 작업이 예기치 않게 완료되었습니다. 그러면 웹 서비스가 응답을 중지합니다. 또한 서버의 CPU 사용량이 100%로 증가한 다음 서버가 응답을 중지할 수 있습니다.

증상 2

 다음 시나리오를 고려하세요.

  • Microsoft ASP.NET 웹 서비스 클라이언트 구성 요소를 사용하여 웹 서비스를 호출하는 Microsoft .NET Framework 2.0 SP2 기반 애플리케이션을 실행합니다. 예를 들어 애플리케이션 코드는 Wsdl.exe 프로세스에 의해 생성되거나 애플리케이션이 SoapHttpClientProtocol 클래스를 호출합니다.
  • 클라이언트는 웹 서비스 호출을 비동기적으로 호출합니다.
  • 클라이언트는 서버에 요청을 보냅니다.
  • 그런 다음 클라이언트는 길이가 0인 콘텐츠가 있는 웹 응답을 받습니다.

웹 서비스가 이 시나리오에서 이 응답을 처리하려고 하면 System.ArgumentNullException 예외가 throw됩니다. 그런 다음 다음 오류 메시지가 표시됩니다.

참고

값은 null일 수 없습니다.

참고 이 문제는 클라이언트가 웹 서비스 호출을 동기적으로 호출할 때 발생하지 않습니다.

원인

증상 1

이 문제는 .NET Framework 예외 처리에서 해당 예외가 서버의 응답을 포함할 때 HttpWebRequest.EndGetRequestStream 메서드가 예외를 throw하는 경우를 고려하지 않기 때문에 발생합니다.

해결 방법

핫픽스 정보

이제 Microsoft에서 지원되는 핫픽스를 사용할 수 있습니다. 그러나 이 문서에서 설명하는 문제만 수정하기 위한 것입니다. 이 특정 문제가 발생하는 시스템에만 적용합니다.

이 핫픽스를 다운로드하려면 다음 Microsoft Connect 웹 사이트를 방문하세요.

http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=27977

상태

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

추가 정보

"증상 1" 섹션에 설명된 문제에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 문서를 확인합니다.

973134 수정: 웹 서비스가 응답을 중지하고 .NET Framework 2.0 S 기반 비동기 웹 서비스를 실행할 때 예외가 throw됩니다.

"증상 2" 섹션에 설명된 문제에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 문서를 확인합니다.

973136 수정: .NET Framework 2.0 S 기반 애플리케이션이 비동기 ASP.NET 웹 서비스 요청에 대한 길이가 0인 응답을 처리하려고 할 때 ArgumentNullException 예외 오류 메시지: "값은 null일 수 없습니다."