मेरे पास एक विंडोज फोन 8 प्रोजेक्ट है जहां मैंने पीसीएल (पोर्टेबल क्लास लाइब्रेरी) प्रोजेक्ट का उपयोग करने के लिए भी लिया है क्योंकि मैं Win8 ऐप बनाने जा रहा हूं।HttpClient's GetStringAsync क्यों अविश्वसनीय धीमा है?
हालांकि, मेरे एपीआई (Azure में) को कॉल करते समय मेरे HttpClient's GetStringAsync इतना धीमा है। मैंने डेटाटाइम के साथ कुछ डीबग में फेंक दिया और GetStringAsync 14 सेकंड की तरह लिया! और कभी-कभी इसमें अधिक समय लगता है।
मैं जो कर रहा हूं वह मेरी एज़ूर एपीआई साइट से सरल JSON पुनर्प्राप्त कर रहा है। मेरे एंड्रॉइड क्लाइंट में नहीं एक ही सेकेंड में एक ही डेटा प्राप्त करने में समस्या है ... तो क्या मुझे कुछ याद आ रही है?
सेटअप सुंदर सीधे आगे है:
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("X-Token", "something");
string responseJSON = await client.GetStringAsync("url");
मैं डिबग बार देता है सही से पहले और वहाँ इंतजार के बाद है, के बीच में यह 14 सेकंड है!
क्या कोई जानता है क्यों?
क्या आपके पास कॉल स्टैक में अन्य एसिंक विधियां हैं? क्या आप हमेशा उनका इंतजार कर रहे हैं? कभी-कभी धीमी ऐप का मतलब है कि आप 'प्रतीक्षा' के बजाय कहीं भी 'Result' का उपयोग कर रहे हैं। उदाहरण के लिए 'स्ट्रिंग प्रतिक्रिया जेएसओएन = क्लाइंट। गेटस्ट्रिंगएसिंक ("यूआरएल")। परिणाम; '। –
आपकी यूरी कितनी बड़ी स्ट्रिंग कर रही है? यदि आपने बड़ी गति अंतर है तो क्या आपने WP8 पर उदाहरण के लिए वेब क्लाइंट का उपयोग करने का प्रयास किया है? वेब ब्राउज़र में उपयोग करते समय प्रतिक्रिया की गति के बारे में क्या? –
@chue x im उन सभी का इंतजार कर रहा है, लेकिन फिलहाल मैं इसे चला रहा हूं। उपयोग करने की कोशिश की। परिणाम हमेशा के लिए लेता है! – Jason94