OPRAVA: Aplikace založená na rozhraní Microsoft .NET Framework 2.0 Service Pack 2 a která asynchronně vyvolává volání webové služby, vyvolá v počítači se systémem Windows 7 výjimku

Platí pro
Windows 7 Enterprise Windows 7 Enterprise N Windows 7 Professional Windows 7 Professional N Windows 7 Ultimate Windows 7 Ultimate N

Příznaky

V počítači s Windows 7 se můžete setkat s jedním nebo více z následujících příznaků.

Příznak 1

Vezměte v úvahu následující scénář:

  • Spustíte asynchronní webovou službu, která používá rozhraní Microsoft .NET Framework 2.0 Service Pack 2 (SP2) na serveru.

  • Asynchronní operace HttpWebRequest pošle webovou žádost webové službě.

  • Webová služba vyvolá výjimku.

V tomto scénáři HttpWebRequest asynchronní operace nevolá BeginGetResponse metodu ani funkci zpětného volání. Asynchronní operace HttpWebRequest je však neočekávaně dokončena. Webová služba poté přestane reagovat. Navíc se může zvýšit využití procesoru na serveru na 100 procent a server přestane reagovat.

Příznak 2

 Vezměte v úvahu následující scénář:

  • Spustíte aplikaci založenou na rozhraní Microsoft .NET Framework 2.0 SP2, která volá webovou službu pomocí klientských součástí webové služby Microsoft ASP.NET. Například kód aplikace je generován procesem Wsdl.exe nebo aplikace volá třídu SoapHttpClientProtocol.
  • Klient vyvolá volání webové služby asynchronně.
  • Klient odešle požadavek na server.
  • Klient pak obdrží webovou odpověď, která má obsah nulové délky.

Když se webová služba pokusí zpracovat tuto odpověď v tomto scénáři, je vyvolána výjimka System.ArgumentNullException. Pak se zobrazí následující chybová zpráva:

Poznámka

Hodnota nemůže být null.

Poznámka: K tomuto problému nedochází, když klient vyvolá volání webové služby synchronně.

Příčina

Příznak 1

K tomuto problému dochází, protože zpracování výjimek rozhraní .NET Framework nebere v úvahu případ, ve kterém metoda HttpWebRequest.EndGetRequestStream vyvolá výjimku, pokud tato výjimka obsahuje odpověď ze serveru.

Řešení

Informace o opravě hotfix

Od Microsoftu je teď k dispozici podporovaná oprava hotfix. Jeho cílem je však opravit pouze problém popsaný v tomto článku. Aplikujte ho jenom na systémy, ve kterých dochází k tomuto konkrétnímu problému.

Chcete-li stáhnout tuto opravu hotfix, navštivte následující web Microsoft Connect:

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

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.

Další informace

Další informace o problémech popsaných v části "Příznak 1" naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:

973134 OPRAVA: Webová služba přestane reagovat a dojde k výjimce, když spustíte asynchronní webovou službu založenou na rozhraní .NET Framework 2.0 S

Další informace o problémech popsaných v části "Příznak 2" naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:

973136 OPRAVA: Chybová zpráva o výjimce ArgumentNullException, když se aplikace založená na rozhraní .NET Framework 2.0 S pokusí zpracovat odpověď s obsahem nulové délky na asynchronní požadavek webové služby ASP.NET: "Hodnota nemůže být null"