Belirtiler
Aşağıdaki senaryoyu dikkate alın. Microsoft .NET Framework 2,0, zaman uyumsuz bir HTTP isteğini tamamlamak için BeginGetRequestStream yöntemini ve HttpWebRequest sınıfındaki EndGetRequestStream yöntemini kullanırsınız. Bu senaryoda, EndGetRequestStream yöntemiyle döndürülen Stream nesnesine erişmeye çalıştığınızda, bir System. ObjectDisposedException özel durumu alırsınız. Not Bu sorun yalnızca HttpWebRequest sınıfındaki Method özelliğini verileri karşıya yükleyen bir Protocol özelliğine ayarladığınızda oluşur. Örneğin, Method özelliğini gönderiolarak ayarladınız.
Neden
Bu sorun, istemci uygulaması HTTP üstbilgisini gönderdikten sonra Web sunucusu bağlantıyı sıfırlar veya kapattığında oluşur. HttpWebRequest sınıfı, aktarımı tamamlamak için Web sunucusu bağlantısını otomatik olarak yeniden açmaya çalışır. Aktarım başarılı olduğunda, EndGetRequestStream yöntemi, başarılı bağlantı girişimine ait Stream nesnesi yerine başarısız olan ilk bağlantı denemesinin Stream nesnesini yanlış döndürür. İstemci uygulaması bu atılmış akış nesnesini kullanmaya çalıştığında, bir System. ObjectDisposedException özel durumu atılır.
Çözüm
Düzeltme bilgileri
Desteklenen bir düzeltme Microsoft 'tan edinilebilir. Ancak bu düzeltmenin yalnızca bu makalede açıklanan sorunu gidermesi amaçlanmıştır. Bu düzeltmeyi yalnızca bu sorunla karşılaşan sistemlere uygulayın. Bu düzeltmeye ek sınama da gelebilir. Bu nedenle, bu sorundan ciddi bir şekilde etkilenmiyorsa, bu düzeltmeyi içeren bir sonraki yazılım güncelleştirmesini beklemenizi öneririz. Bu düzeltmeyi MSDN kod galerisinden indirmek için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://code.msdn.microsoft.com/KB918462Not MSDN kod galerisinde, düzeltmenin kullanılabilir olduğu diller görüntülenir. Dilinizi göremiyorsanız, bu dil için kod Galerisi kaynak sayfası kullanılamaz.Not Ek sorunlar oluşursa veya sorun giderme işlemleri gerekiyorsa, ayrı bir hizmet isteği oluşturmanız gerekebilir. Bu belirli düzeltmeye uygun olmayan ek destek sorularına ve sorunlara normal destek ücretleri uygulanır. Microsoft Müşteri Hizmetleri ve destek telefon numaralarının tam listesi için veya ayrı bir hizmet isteği oluşturmak için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=support
Ön koşullar
Bu düzeltmeyi uygulamak için .NET Framework 2,0 yüklü olmalıdır.
Yeniden başlatma gereksinimi
Bu düzeltmeyi uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekmez.
Düzeltme değiştirme bilgileri
Bu düzeltme, başka düzeltmelerin yerine geçmez.
Dosya bilgileri
Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya öznitelikleri) sahiptir. Bu dosyalarla ilgili tarihler ve saatler Eşgüdümlü Evrensel Saat (UTC) kullanılarak listelenmiştir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ile yerel saat arasındaki farkı bulmak için Denetim Masası'ndaki Tarih ve Saat aracında Saat Dilimi sekmesini kullanın.
Dosya adı |
Dosya sürümü |
Dosya boyutu |
Tarih |
Saat |
---|---|---|---|---|
System.dll |
2.0.50727.109 |
3.018.752 |
01-May-2006 |
21:15 |
Durum
Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.
Ek Bilgi
HttpWebRequest sınıfı hakkında daha fazla bilgi Için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/system.net.httpwebrequest.aspxSystem. ObjectDisposedException sınıfı hakkında daha fazla bilgi IÇIN aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/system.objectdisposedexception.aspxDaha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
824684 Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması