PARANDUS: Rakendus, mis põhineb Microsoft .NET Framework 2.0 Service Pack 2 ja mis käivitab veebiteenuse kutse asünkroonselt põhjustab erandi arvutis, milles töötab Windows 7

Kehtib: Windows 7 EnterpriseWindows 7 Enterprise NWindows 7 Professional

Sümptomid


Arvutis, kus töötab Windows 7, võite puutuda mõnega järgmistest sümptomitest.

Sümptom 1

Kujutage ette järgmist stsenaariumi.
  • Käivitate asünkroonne veebipõhine teenus, mis kasutab Microsoft .NET Framework 2.0 Service Pack 2 (SP2) server.

  • HttpWebRequest asünkroonne toiming saadab veebitaotluse veebiteenuse.
  • Veebiteenuse põhjustab erandi.
Selle stsenaariumi puhul HttpWebRequest asünkroonne toiming ei teavita BeginGetResponse meetod või tagasihelistamise funktsioon. Siiski on ootamatult HttpWebRequest asünkroonne toiming lõpule. Veebiteenuse siis lakkab reageerimast. Lisaks protsessorikasutus serveris võib suurendada 100 protsenti ja seejärel server lõpetab reageerimise.

Sümptom 2

Kujutage ette järgmist stsenaariumi.
  • Käivitate Microsoft .NET Framework 2.0 SP2 põhise rakenduse, mis kutsub veebiteenuse abil Microsoft ASP.NET Web service kliendi komponendid. Näiteks Wsdl.exe protsessi on loodud rakenduse koodi või rakendus nõuab SoapHttpClientProtocol klassi.
  • Klient käivitab veebiteenuse kutses asünkroonselt.
  • Klient saadab päringu serverisse.
  • Seejärel saab klient Web vastus, mis on nullpikkusega sisu.
Veebiteenuse püüab töödelda seda vastust selle stsenaariumi, visatakse System.ArgumentNullException erand. Seejärel kuvatakse järgmine tõrketeade:
Väärtus ei tohi olla tühi.
Märkus. See probleem ilmneda juhul, kui klient käivitab veebiteenuse kutses sünkroonselt.

Põhjus


Sümptom 1

See probleem ilmneb, kuna .NET Framework erandite käsitsemise pea, mille HttpWebRequest.EndGetRequestStream meetodi põhjustab erandi, kui see sisaldab serverist vastust.

Lahendus


Kiirparanduse teave

Lasknud välja toetatava käigultparanduse on nüüd Microsoftilt saadaval. See on mõeldud üksnes käesolevas artiklis kirjeldatud probleemi kõrvaldamiseks. Rakendage seda ainult süsteemides, kus ilmneb see konkreetne probleem.

Selle kiirparanduse allalaadimiseks külastage Microsoft Connect veebisaiti:

Olek


Microsoft on kinnitanud, et see probleem esineb jaotises "Kehtib järgmiste toodete kohta" loetletud Microsofti toodetel.

Lisateabe saamiseks


Probleemid, mida on kirjeldatud jaotises "Sümptom 1" kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

973134 FIX: Web teenus lõpetab reageerimise ja erandolekut .NET Framework 2.0 hoolduspaketi Sp2 põhise asünkroonne veebiteenuse käivitamisel

Probleemid, mida on kirjeldatud jaotises "Sümptom 2" kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

973136 FIX: ArgumentNullException erandi tõrketeade, kui .NET Framework 2.0 hoolduspaketi Sp2 põhise rakenduse püüab töödelda asünkroonse ASP.NET Web teenusetaotluse nullpikkusega sisu vastuseks: "Väärtus ei tohi olla tühi"