ben daha kolay bir şekilde alır ve Mesajlar yürütmek Http Web Request sınıfı için bir Wrapper geliştirdikNET HTTP İstek Zaman Aşımı sürekli akış sitesinde "durduruluyor" değil
Kapsam. Bu kütüphane iki yıldan fazla bir süredir sorunsuzca kullanılıyor, ama bugün garip bir problemle karşılaştık.
one website (yüklenecek bir süreliğine) var. Görünüşe göre, akış karakterlerini HTML ön kısmına saklıyor, böylece kitaplığımız "Al" isteğimiz bir döngüye takılıyor. Http Web İsteği referans baktığımızda
Farklı Zaman Aşımı Özellikleri
iki farklı timeout
özellikleri vardır bulmak. İkisini de kullanıyoruz, ancak bunların hiçbiri uygun şekilde iptal edilmiyor.
- Read Write Timeout - Akışa yazarken veya okurken milisaniye cinsinden zaman aşımı süresini alır veya ayarlar.
- Timeout - GetResponse ve GetRequestStream yöntemleri için zaman aşımı değerini milisaniye olarak alır veya ayarlar.
Bir Zaman aşımı onlara Kural tüm
bazı önceden yapılandırılmış bir süre sonra bertaraf akışı/bağlantı zorlayacaktır bir "Operasyon Zaman Aşımı" ayarlamak için herhangi bir yolu var mı?
Bazı Kod Numune
public class Program
{
public static void Main()
{
string url = "http://anus.io";
Console.WriteLine("Initializing Request State Object");
RequestState myRequestState = new RequestState();
// Creating Http Request
myRequestState.request = (HttpWebRequest)WebRequest.Create(url);
myRequestState.request.Method = "GET";
myRequestState.request.ReadWriteTimeout = 4000;
myRequestState.request.Timeout = 4000;
Console.WriteLine("Begining Async Request");
IAsyncResult ar = myRequestState.request.BeginGetResponse(new AsyncCallback(ResponseCallback), myRequestState);
Console.WriteLine("Waiting for Results");
ar.AsyncWaitHandle.WaitOne();
myRequestState.response = (HttpWebResponse)myRequestState.request.EndGetResponse(ar);
Console.WriteLine("Response status code = {0}", myRequestState.response.StatusCode);
}
public static void ResponseCallback (IAsyncResult asyncResult)
{
Console.WriteLine("Completed");
}
}
This Code seem to work fine ama sürekli (tarayıcı gösterdiği gibi) transmited ediliyor beri nasıl ben, dize olarak tepkisini okunur?
Soru
böyle web sitelerini ele uygun yolu nedir? (Sap derken sunucu basitçe aktaran durmayacak durumları belirlemek ve atlamak muktedir demek?)