Požymiai
Tarkime, kad naudojate HttpWebRequest klasės arba HttpClient klasės .NET Framework 4.5 siųsti užklausą į serverį. Tokiu atveju, kai prašoma ir HTTP atsakymo chunked, serverio ryšys nutrūko.
Pastaba. Ši problema paprastai kyla įdiegus naujinimą, aprašytą šiame žinių bazės (KB) straipsnyje:
2750149 naujinimas, skirtas .NET Framework 4.5 "Windows 8, Windows RT ir" Windows Server 2012: 2013 m. sausio
Sprendimas
Norėdami įsitikinti, kad HttpWebRequest klasės ir HttpClient klasės bus pakartotinai panaudoti ryšį, nusausinkite visą HTTP užklausos atsakymus iš ryšį prieš naują užklausą. Norėdami išspręsti šią problemą, taikykite vieną iš toliau nurodytų būdų:
-
Įsitikinkite, kad jūs visiškai nusausinkite atsakymas srautas, prieš siųsdami naują užklausą. Pvz., kai gaunate chunked atsakymo, taikomoji programa skaito atsakymas srautas tol, kol srautinis skaitymo metodas grąžina "0 baitų skaityti."
Pastaba. Šis metodas reikalauja papildomų naujinimas turi būti įdiegta. -
Įdiekite šį naujinimą, Norėdami atkurti tą pačią problemą, prieš diegdami šias karštąsias pataisas KB 2750149. Kai programa užsidaro atsakymas srautas, HttpWebRequest klasės bando nutekėjimo atsakymus. Jei ši operacija pavyksta, ryšys bus pakartotinai kitą užklausos.
Karštųjų pataisų informacija
Palaikomą naujausią pataisą dabar yra Microsoft. Tačiau ji skirta spręsti tik šiame straipsnyje aprašytą problemą. Taikyti ją tik sistemoms, kuriose kyla ši konkreti problema.
Norėdami išspręsti šią problemą, kreipkitės į "Microsoft" klientų palaikymo tarnybą ir įsigykite šias karštąsias pataisas. "Microsoft" klientų palaikymo tarnybos telefonų sąrašo ir informacijos apie palaikymo kainas sąrašą, apsilankykite šioje "Microsoft" svetainėje:
http://support.microsoft.com/contactus/?ws=supportPastaba. Konkrečiais atvejais už palaikymo skambučius taikomi įprasti mokesčiai gali būti atšaukti, jei "Microsoft" techninės pagalbos specialistas nusprendžia, kad jūsų problemą galima išspręsti naudojant konkretų naujinimą. Į įprastos kainos už palaikymą taikomos papildomos palaikymo klausimams ir problemoms, kurių negalima išspręsti naudojant minėtą naujinimą.
Būtinosios sąlygos
Norint taikyti šias karštąsias pataisas, turite Microsoft .NET Framework 4.5 įdiegtas.
Reikalavimas paleisti iš naujo
Po to, kai pritaikote šias karštąsias pataisas, jei susiję failai yra naudojami diegiant, turite iš naujo paleisti kompiuterį. Rekomenduojame, uždarykite visas programas, kurios naudoja .NET Framework prieš taikydami šias karštąsias pataisas.
Šių karštųjų pataisų Visuotinė versija turi failo atributus (arba naujesnius failo atributus), kurie išvardyti toliau esančioje lentelėje. Datos ir laiko informacija pateikta pagal universalųjį laiką (UTC). Kai peržiūrite failo informaciją, ši informacija konvertuojama į vietos laiką. Norėdami sužinoti UTC ir vietos laiko skirtumą, naudokite valdymo skydo elemento Data ir laikas skirtuką Laiko juosta.
Visoms palaikomoms x86 "Windows 8" versijoms
Failo vardas |
Failo versija |
Failo dydis |
Data |
Laikas |
Platforma |
---|---|---|---|---|---|
System.dll |
4.0.30319.19082 |
3,449,912 |
08-May-2013 |
23:35 |
x86 |
Visoms palaikomoms x64 "Windows 8", "Windows Server 2012" versijoms
Failo vardas |
Failo versija |
Failo dydis |
Data |
Laikas |
Platforma |
---|---|---|---|---|---|
System.dll |
4.0.30319.19082 |
3,449,912 |
08-May-2013 |
23:58 |
x86 |
System.dll |
4.0.30319.19082 |
3,449,912 |
08-May-2013 |
23:35 |
x86 |