อาการ

พิจารณาสถานการณ์สมมติต่อไปนี้ ใน Microsoft .NET Framework ๒.๐คุณสามารถใช้วิธีการBeginGetRequestStreamและวิธีEndGetRequestStreamในชั้นเรียนHttpWebRequestเพื่อทำการร้องขอ HTTP แบบซิงโครนัสให้เสร็จสมบูรณ์ ในสถานการณ์สมมตินี้เมื่อคุณพยายามเข้าถึงวัตถุสตรีมที่ถูกส่งกลับโดยวิธีการEndGetRequestStreamคุณจะได้รับข้อยกเว้นของระบบ ObjectDisposedException หมายเหตุ ปัญหานี้เกิดขึ้นถ้าคุณตั้งค่าคุณสมบัติวิธีการในการHttpWebRequestคลาสเป็นคุณสมบัติของโพรโทคอลที่จะอัปโหลดข้อมูล ตัวอย่างเช่นคุณตั้งค่าคุณสมบัติวิธีการลงรายการบัญชี

สาเหตุ

ปัญหานี้เกิดขึ้นเมื่อเว็บเซิร์ฟเวอร์ตั้งค่าใหม่หรือปิดการเชื่อมต่อหลังจากที่แอปพลิเคชันไคลเอ็นต์ส่งส่วนหัว HTTP คลาสที่HttpWebRequestจะพยายามเปิดการเชื่อมต่อไปยังเว็บเซิร์ฟเวอร์ให้เสร็จสมบูรณ์เพื่อให้การโอนเสร็จสมบูรณ์ เมื่อการโอนเสร็จเรียบร้อยแล้ววิธีการEndGetRequestStreamจะส่งกลับวัตถุสตรีมจากความพยายามในการเชื่อมต่อล้มเหลวครั้งแรกแทนที่จะเป็นวัตถุสตรีมจากความพยายามในการเชื่อมต่อที่ประสบความสำเร็จ เมื่อแอปพลิเคชันไคลเอ็นต์พยายามใช้วัตถุสตรีมที่ถูกตัดจำหน่ายนี้ ObjectDisposedException จะ thrown ข้อยกเว้นของระบบ

การแก้ไข

ข้อมูลโปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนที่ได้รับการสนับสนุนจาก Microsoft พร้อมใช้งาน อย่างไรก็ตามโปรแกรมแก้ไขด่วนนี้มีไว้เพื่อแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น นำโปรแกรมแก้ไขด่วนนี้ไปใช้กับระบบที่พบปัญหาที่เฉพาะเจาะจงนี้เท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ถ้าคุณไม่ได้รับอย่างจากจากปัญหานี้เราขอแนะนำให้คุณรอการอัปเดตซอฟต์แวร์ถัดไปที่มีโปรแกรมแก้ไขด่วนนี้ เมื่อต้องการดาวน์โหลดโปรแกรมแก้ไขด่วนนี้จากแกลเลอรีโค้ด MSDN แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:

http://code.msdn.microsoft.com/KB918462หมายเหตุ แกลเลอรีโค้ด MSDN แสดงภาษาที่โปรแกรมแก้ไขด่วนพร้อมใช้งาน ถ้าคุณไม่เห็นภาษาของคุณแสดงอยู่ในรายการเนื่องจากหน้าแหล่งข้อมูลของแกลเลอรีโค้ดไม่พร้อมใช้งานสำหรับภาษานั้นหมายเหตุ ถ้าปัญหาอื่นๆเกิดขึ้นหรือจำเป็นต้องมีการแก้ไขปัญหาชั่วคราวคุณอาจต้องสร้างคำขอบริการแยกต่างหาก ค่าใช้จ่ายในการสนับสนุนปกติจะนำไปใช้กับคำถามเพิ่มเติมและปัญหาที่ไม่มีสิทธิ์การใช้งานโปรแกรมแก้ไขด่วนนี้เฉพาะ สำหรับรายการทั้งหมดของหมายเลขโทรศัพท์ของฝ่ายบริการลูกค้าของ Microsoft และการสนับสนุนหรือเมื่อต้องการสร้างคำขอบริการแยกต่างหากแวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:

http://support.microsoft.com/contactus/?ws=support

ข้อกำหนดเบื้องต้น

คุณต้องมี๒.๐ .NET Framework ที่ติดตั้งให้ใช้โปรแกรมแก้ไขด่วนนี้

ความต้องการในการเริ่มระบบใหม่

คุณไม่จำเป็นต้องรีสตาร์ทคอมพิวเตอร์หลังจากที่คุณนำโปรแกรมแก้ไขด่วนนี้ไปใช้

ข้อมูลการแทนที่โปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนนี้ไม่ได้แทนที่ฮอตฟิกซ์อื่นๆ

ข้อมูลไฟล์

เวอร์ชันภาษาอังกฤษของ hotfix นี้มีแอตทริบิวต์ไฟล์ (หรือแอตทริบิวต์ไฟล์เวอร์ชันที่ใหม่กว่า) ซึ่งแสดงอยู่ในตารางต่อไปนี้ วันที่และเวลาสำหรับไฟล์เหล่านี้จะแสดงในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลไฟล์จะถูกแปลงเป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC และเวลาท้องถิ่นให้ใช้แท็บโซนเวลาในรายการวันที่และเวลาในแผงควบคุม

ชื่อไฟล์

รุ่นของไฟล์

ขนาดไฟล์

วันที่

เวลา

System.dll

2.0.50727.109

๓,๐๑๘,๗๕๒

01-May-2006

21:15

สถานะ

Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"

ข้อมูลเพิ่มเติม

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคลาสHttpWebRequestแวะไปที่เว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:

http://msdn2.microsoft.com/en-us/library/system.net.httpwebrequest.aspxสำหรับข้อมูลเพิ่มเติมเกี่ยวกับชั้นเรียนของระบบ ObjectDisposedExceptionให้ไปที่ MSDN เว็บไซต์ต่อไปนี้:

http://msdn2.microsoft.com/en-us/library/system.objectdisposedexception.aspxหากต้องการทราบข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

824684 คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายโปรแกรมปรับปรุงซอฟต์แวร์ของ Microsoft

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย