पोर्टेबल क्लास लाइब्रेरी के अंदर, मेरे पास निम्न विधि है जो एक विशिष्ट यूआरएल को डेटा पोस्ट करती है। विधि महान काम करता है। हालांकि मैं एक अधिक आक्रामक टाइमआउट निर्दिष्ट करना चाहता हूं (डिफ़ॉल्ट 100 सेकंड है)।HttpWebRequest के लिए एक अधिक आक्रामक टाइमआउट को परिभाषित करने के लिए कैसे?
यह ध्यान में रखते हुए कि पोर्टेबल क्लास लाइब्रेरी से HttpWebRequest क्लास पर कोई टाइमआउट संपत्ति नहीं है, मैं यह कैसे सुनिश्चित कर सकता हूं कि कॉल को कुछ सेकेंड से अधिक समय तक छोड़ दिया जाए?
public async Task<HttpResponse> PostAsync(Uri uri, string data)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
using (Stream requestStream = await request.GetRequestStreamAsync())
{
byte[] postBytes = Encoding.UTF8.GetBytes(data);
requestStream.Write(postBytes, 0, postBytes.Length);
}
HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync();
return new HttpResponse(response.StatusCode, await new StreamReader(response.GetResponseStream()).ReadToEndAsync());
}
HttpWebRequest.Timeout = 20000; ? यह काफी स्मार्ट है? –