徵狀
請考慮下列情況。 在 Microsoft .NET Framework 2.0 中,您可以使用BeginGetRequestStream方法和system.net.HTTPwebrequest類別中的ENDGETREQUESTSTREAM方法來完成非同步 HTTP 要求。 在這種情況下,當您嘗試存取由EndGetRequestStream方法傳回的串流物件時,您會收到ObjectDisposedException例外狀況。 注意: 只有當您將system.net.HTTPwebrequest類別中的Method屬性設定為上傳資料的通訊協定屬性時,才會發生此問題。 例如,您將Method屬性設定為 [張貼]。
原因
當 Web 服務器在用戶端應用程式傳送 HTTP 標頭之後重設或關閉連線時,就會發生此問題。 System.net.HTTPwebrequest類別會自動嘗試重新開啟與 Web 服務器的連線,以完成傳輸。 當傳輸成功時, EndGetRequestStream方法會不正確地從第一次失敗的連線嘗試傳回串流物件,而不會從成功的連線嘗試中傳回串流物件。 當用戶端應用程式嘗試使用這個已處理的資料流程物件時,會引發ObjectDisposedException例外狀況。
解決方案
修復程式資訊
Microsoft 提供了支援的修補程式。不過,此修正程式僅適用于本文所述的問題。僅將此熱修復程式套用至遇到這特定問題的系統。此熱修復程式可能會收到其他測試。因此,如果這個問題不會對您造成嚴重影響,我們建議您等待包含此熱修復程式的下一個軟體更新。若要從 MSDN 代碼庫下載此熱修復程式,請造訪下列 Microsoft 網站:
http://code.msdn.microsoft.com/KB918462注意: MSDN 程式碼庫會顯示已提供此熱修復程式的語言。 如果您沒有看到所需的語言,這是因為該語言沒有可用的程式碼庫資源頁面。注意: 如果發生其他問題,或需要進行任何疑難排解,您可能必須建立個別的服務要求。 一般支援費用適用于不符合此特定熱修復程式的其他支援問題與問題。 如需 Microsoft Customer Service 和支援電話號碼的完整清單,或是要建立個別的服務要求,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support
先決條件
您必須安裝 .NET Framework 2.0 才能套用此熱修復程式。
重新啟動需求
在套用此熱修復程式後,您不需要重新開機電腦。
Hotfix 取代資訊
此熱修復程式不會取代任何其他的熱修復程式。
檔案資訊
此熱修復程式的英文版具有下表所列的檔案屬性(或更新的檔案屬性)。 這些檔案的日期與時間是以國際標準時間 (UTC) 表示。 當您檢視檔案資訊時,它會轉換為當地時間。 若要找出 UTC 與當地時間之間的時差,請使用 [控制台] 的 [日期] 和 [時間] 專案中的 [時區] 索引標籤。
檔案名稱 |
檔案版本 |
檔案大小 |
日期 |
時間 |
---|---|---|---|---|
System.dll |
2.0.50727.109 |
3018752 |
01-May-2006 |
21:15 |
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
其他相關資訊
如需system.net.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 軟體更新所使用的標準術語說明