"The remote server returned an error: (417) Expectation Failed.", Yani ?

Bisorusor.com'un Twitter bağlantısı için Yedda.Twitter isimli açık kaynak bir projeden faydalanmıştık. Görünen o ki bir süredir bizim Twitter güncellemeleri yayınlanmamış. Olayı araştırınca, Twitter tarafından yapılan bir güncelleme bizim ve bizim gibiler tarafından gönderilen paketlerin işlenmesinin önlendiğini gördük. (bize özel değil canım uygulama :) genel bir güncelleme.)

Biraz araştırınca gördük ki (bu arada bu Hintlileri seviyorum, hemen yazıyorlar sorunların çözümlerini) HttpWebRequest objesi, istekte bulunduğumuz zaman HTTP başlığı içine "100-Continue" diye bir değer atıyor ve karşı sunucudan bundan sonra tüm veriyi göndereceğini anlamasını istiyormuş (detaylar linkte mevcut) ama Twitter ilgili güncellemede bunu yasaklayınca bizim gönderimler ulaşamamışlar.

Çözüm oldukça basit, 2 yol takip edilebilir:

1 - Proje içerisinde "System.Net.ServicePointManager.Expect100Continue = false"  şeklinde belirtmek
2 - Web.config veya masaüstü uygulaması ise exe_adi.exe.config içinde aşağıdaki tanımlamayı yapmak.

<system.net>
   <settings>
       <servicePointManager expect100Continue="false" />
   </settings>
</system.net>

 

YORUMLAR

Daha önce yorum yapılmamış

YORUM YAPIN

Konular

Aklımda Kalanlar

Başımdan Geçenler

Sevdiğim Yazılar

Isa'ya

Kendime Notlar

Vizör

Kitaplardan

Diğer Yazılar

Son Yorumlar

Yazarlar

Linkler

Blog Arşivi