เมื่อทำโปรแกรมอัพเดตอัตโนมัติคุณต้องการบันทึกปัญหาและใช้ HttpWebRequest และ HttpWebResponse โดยตรงเพื่อดาวน์โหลดไฟล์ที่อัพเดตจากเซิร์ฟเวอร์ ให้ความสนใจกับสตรีมการปิดการตอบสนองเมื่อใช้งาน:
หลังจากใช้ HttpWebRequest.GetResponse() เพื่อรับอินเทอร์เฟซ HttpWebResponse คุณต้องอย่าลืมเรียก HttpWebResponse.close เพื่อปิดสตรีม
หากคุณใช้ HttpWebResponse.GetResponseStream() เพื่อรับสตรีมการตอบกลับ ให้ใช้วิธีการปิดของสตรีมนี้เพื่อปิด
หากคุณใช้ StreamReader.ReadToEnd() เพื่ออ่านข้อความจากสตรีมการตอบกลับ สตรีมจะถูกปิดโดยอัตโนมัติหลังจากอ่านเนื้อหา
MSDN อธิบายวิธีการ HttpWebResponse.close ดังต่อไปนี้:
วิธีการปิดปิดกระแสข้อมูลการตอบสนอง และเผยแพร่การเชื่อมต่อกับทรัพยากรเพื่อนำมาใช้ใหม่โดยการร้องขออื่น ๆ
คุณต้องเรียกวิธีการStream.CloseหรือHttpWebResponse.Closeเพื่อปิดกระแสข้อมูลและปล่อยการเชื่อมต่อเพื่อนำมาใช้ใหม่ ไม่จำเป็นต้องเรียก Stream.Close และ HttpWebResponse.Close พร้อมกัน แต่การทำเช่นนั้นจะไม่ทำให้เกิดข้อผิดพลาด ความล้มเหลวในการปิดสตรีมอาจทำให้แอปพลิเคชันขาดการเชื่อมต่อ
ดูเหมือนว่าขีดจำกัดการเชื่อมต่อจะสูงสุดที่ 2 ฉันไม่รู้ว่ามันเป็นขีดจำกัดของ IIS หรือขีดจำกัดของ HttpWebRequest ในเครื่อง