Причини
Припустімо, що використовується клас HttpWebRequest або HttpClient класу в .NET Framework 4.5 відправити запит до сервера. У цьому випадку після того, як на запит, і HTTP-відповідь, фрагментовані, підключення до сервера припиняється.
Примітка Зазвичай, ця проблема виникає після інсталяції оновлення, описане в цій статті бази знань Knowledge Base (KB):
2750149 доступне оновлення для .NET Framework 4.5, в ОС Windows 8, Windows RT та Windows Server 2012: січня 2013
Вирішення
Щоб переконатися, що клас HttpWebRequest та HttpClient клас буде повторно підключення, потрібно витік весь відповіді HTTP запит на підключення нового запиту, які можна робити. Щоб вирішити цю проблему, потрібно застосувати один із наведених нижче способів:
-
Переконайтеся, що ви вичерпати потоку відповідь перед надсиланням новий запит. Наприклад, отримавши відповідь фрагментовані застосунок читає відповідь потоку до того, як читати метод потоку повертає, "читання 0 байт."
Примітка. Такий підхід вимагає, додаткові оновлення для інсталяції. -
Інсталюйте це оновлення, відновлення до інсталяції виправлення в KB 2750149 така сама поведінка системи. Під час закриття програми відповідь потоку клас HttpWebRequest намагається витік відповіді. Якщо ця операція пройшла успішно, підключення буде повторно для наступного запиту.
Відомості про виправлення
Корпорація Майкрософт випустила підтримуване виправлення доступна. Проте призначена для вирішення проблеми, які описано в цій статті. Він придатний лише для систем, які зазнають цієї конкретної проблеми.
Щоб вирішити цю проблему, зверніться до служби підтримки Microsoft, щоб отримати виправлення. Повний перелік телефонів служби підтримки користувачів Microsoft а також відомості про вартість обслуговування відвідайте веб-сайт корпорації Майкрософт:
http://support.microsoft.com/contactus/?ws=supportПримітка. В окремих випадках оплату звернення до служби підтримки може бути скасовано якщо технічної підтримки Майкрософт визначить, що телефонів служби. Плата стягується на додаткові питання і проблеми, які не пов'язані з оновленням.
Попередні вимоги
Щоб застосувати це виправлення, слід Microsoft .NET Framework 4.5, що інстальовано.
Необхідність перезавантаження
Після застосування цього виправлення, якщо задіяні файли, які використовуються під час інсталяції, потрібно перезавантажити комп'ютер. Корпорація Майкрософт рекомендує, закрити всі програми, які використовують .NET Framework, перш ніж застосовувати це виправлення.
Універсальна версія цього виправлення на комп'ютері, має атрибути файлів (або новіші атрибути файлів) подані в нижченаведеній таблиці. Значення дати й часу для цих файлів наведено за всесвітнім координованим часом (UTC). Переглядаючи відомості про файл, час конвертується у місцевий час. Щоб визначити різницю між UTC і місцевим часом, використайте вкладку Часовий пояс у Дата й час на панелі керування.
Для всіх підтримуваних версій ОС Windows 8 на базі процесорів x86
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
---|---|---|---|---|---|
System.dll |
4.0.30319.19082 |
3,449,912 |
08-May-2013 |
23:35 |
x86 |
Для всіх підтримуваних версій ОС Windows 8, Windows Server 2012 на базі x64
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
---|---|---|---|---|---|
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 |