Triệu chứng
Giả sử rằng bạn sử dụng lớp HttpWebRequest hoặc lớp HttpClient trong .NET Framework 4.5 gửi yêu cầu đến máy chủ. Trong trường hợp này, sau khi yêu cầu được thực hiện và phản hồi HTTP bỏ, kết nối máy chủ chấm dứt.
Lưu ý Vấn đề này thường xảy ra sau khi bạn áp dụng bản Cập Nhật được mô tả trong bài viết cơ sở kiến thức (KB) sau đây:
2750149 bản Cập Nhật có sẵn cho .NET Framework 4.5 trong Windows 8, Windows RT và Windows Server 2012: tháng 1 / 2013
Giải pháp
Để đảm bảo rằng lớp HttpWebRequest và lớp HttpClient sẽ tái sử dụng kết nối, bạn phải thoát câu trả lời yêu cầu HTTP toàn bộ kết nối trước khi có thể thực hiện một yêu cầu mới. Để giải quyết vấn đề này, áp dụng một trong các phương pháp sau:
-
Đảm bảo rằng bạn hoàn toàn thoát dòng đáp ứng trước khi bạn gửi một yêu cầu mới. Ví dụ: khi bạn nhận được phản hồi chunked, ứng dụng đọc dòng phản hồi cho đến khi trở về phương pháp đọc trên dòng "0 byte đọc."
Lưu ý Phương pháp này yêu cầu Cập Nhật bổ sung không được cài đặt. -
Cài đặt bản cập nhật này để khôi phục chế độ tương tự trước khi cài đặt hotfix trong KB 2750149. Khi ứng dụng đóng dòng phản hồi, lớp HttpWebRequest cố gắng thoát câu trả lời. Nếu thao tác này thành công, kết nối sẽ được tái sử dụng cho yêu cầu tiếp theo.
Thông tin hotfix
Microsoft hiện đã cung cấp bản cập nhật nóng được hỗ trợ. Tuy nhiên, nó là nhằm khắc phục chỉ sự cố mà bài viết này mô tả. Áp dụng cho các hệ thống đang gặp sự cố cụ thể này.
Để khắc phục sự cố này, hãy liên hệ với dịch vụ hỗ trợ khách hàng Microsoft để lấy hotfix. Để biết danh sách đầy đủ số điện thoại Dịch vụ hỗ trợ khách hàng của Microsoft và thông tin về chi phí hỗ trợ, ghé thăm website sau của Microsoft:
http://support.microsoft.com/contactus/?ws=supportLưu ý Trong trường hợp đặc biệt, chi phí thường phát sinh cho cuộc gọi hỗ trợ có thể bị hủy bỏ nếu chuyên viên hỗ trợ Microsoft xác định rằng một Cập Nhật cụ thể sẽ giải quyết vấn đề của bạn. Chi phí hỗ trợ thông thường sẽ áp dụng cho các vấn đề không phù hợp với bản Cập Nhật cụ thể trong câu hỏi và câu hỏi hỗ trợ bổ sung.
Điều kiện tiên quyết
Để áp dụng hotfix này, bạn phải có Microsoft .NET Framework 4.5 cài đặt.
Yêu cầu khởi động lại
Bạn phải khởi động lại máy tính sau khi bạn áp dụng hotfix này nếu tệp bị ảnh hưởng đang được sử dụng trong quá trình cài đặt. Chúng tôi khuyên bạn đóng tất cả các ứng dụng sử dụng .NET Framework trước khi bạn áp dụng hotfix này.
Phiên bản toàn cầu của hotfix này có các thuộc tính tệp (hoặc thuộc tính tệp mới hơn) được liệt kê trong bảng sau. Ngày và giờ của các tệp này được liệt kê theo Giờ Quốc tế Phối hợp (UTC). Khi bạn xem thông tin về tệp, ngày và giờ được chuyển đổi thành giờ địa phương. Để tìm sự khác nhau giữa UTC và giờ địa phương, sử dụng tab Múi Giờ trong mục Ngày và Giờ trong Pa-nen điều khiển.
Đối với tất cả phiên bản x86 dựa trên Windows 8
Tên tệp |
Phiên bản tệp |
Kích thước tệp |
Ngày |
Giờ |
Nền tảng |
---|---|---|---|---|---|
System.dll |
4.0.30319.19082 |
3,449,912 |
08-May-2013 |
23:35 |
x86 |
Đối với tất cả phiên bản x64 dựa trên Windows 8, Windows Server 2012
Tên tệp |
Phiên bản tệp |
Kích thước tệp |
Ngày |
Giờ |
Nền tảng |
---|---|---|---|---|---|
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 |