मुझे वेब क्लाइंट के साथ समस्या है।वेब क्लाइंट बहुत धीमा है
यह बहुत धीमी है। एक वेबसाइट से डाउनलोड करने में लगभग 3-5 सेकंड लगते हैं। मेरे पास कोई नेटवर्क समस्या नहीं है।
यह मेरा संशोधित वेब क्लाइंट है।
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
namespace StatusChecker
{
class WebClientEx: WebClient
{
public CookieContainer CookieContainer { get; private set; }
public WebClientEx()
{
CookieContainer = new CookieContainer();
ServicePointManager.Expect100Continue = false;
Encoding = System.Text.Encoding.UTF8;
WebRequest.DefaultWebProxy = null;
Proxy = null;
}
public void ClearCookies()
{
CookieContainer = new CookieContainer();
}
protected override WebRequest GetWebRequest(Uri address)
{
var request = base.GetWebRequest(address);
if (request is HttpWebRequest)
{
(request as HttpWebRequest).CookieContainer = CookieContainer;
}
return request;
}
}
}
अद्यतन: Wireshark में मैंने देखा कि एक DownladString भेजने और कुछ हजारों पैकेट प्राप्त कर रहा है।
WebClient विशेष रूप से धीमी गति से नहीं है, समस्या कहीं और होना चाहिए ... शायद आप जिस वेबसाइट से डाउनलोड कर रहे हैं वह धीमी है? –
आपको वायरशर्क जैसे ट्रैफिक लॉगर का उपयोग यह निर्धारित करने के लिए करना चाहिए कि देरी वास्तव में एकल अनुरोध और प्रतिक्रिया फ्रेम (नेटवर्क/सर्वर मंदी के कारण) के बीच है या हो रहा है क्योंकि क्लाइंट कोड गलत व्यवहार कर रहा है और बहुत से अनुरोध या कुछ ऐसे तर्क भेज रहा है त्रुटि। –
प्रक्रिया को 'गर्म करने' के लिए लूप में कई डाउनलोड निष्पादित करें (उदाहरण के लिए असेंबली के भार को समाप्त करें)। –