मेरे पास कुछ काफी सरल कोड है जो एक फोटो या वीडियो को एंडपॉइंट पर अपलोड करता है (HTTP PUT या POST का उपयोग करके)। हर बार मैं कनेक्शन बंद अपवादों को फेंक देता हूं, और हकीकत में फोटो/वीडियो को ठीक से अपलोड किया गया था, यह GetResponse को कॉल कर रहा है जहां अपवाद होता है।इतने लंबे समय तक HttpWebRequest GetResponse ब्लॉक क्यों करता है?
एक बात मैंने देखा है कि GetResponse प्रक्रिया के लिए एक बहुत लंबा समय ले सकता है। अक्सर सर्वर के लिए फोटो के वास्तविक अपलोड समय से अधिक लंबा। मेरा कोड RequestStream.Write का उपयोग कर वेब सर्वर को लिखता है।
मैंने थोड़ा परीक्षण किया और सर्वर पर लगभग 40 फोटो/वीडियो अपलोड किए जो कि 1 एमबी से 85 एमबी के आकार में हैं और वापसी के लिए GetResponse के लिए समय 3 से 40 सेकंड तक था।
मेरा सवाल है, क्या यह सामान्य है? क्या यह सिर्फ एक बात है कि सर्वर मैं इन फ़ाइलों को अपलोड करने के लिए कितना समय लगा रहा हूं, मेरे अनुरोध को संसाधित करने और जवाब देने के लिए? फिडर HTTP निशान को देखने में यह मामला प्रतीत होता है।
FYI करें, मेरे अपलोड कर रहे हैं HTTP 1.0, समय समाप्त मान अनंत (दोनों समय समाप्ति और ReadWriteTimeout) के लिए सेट
उमर: आप Fiddler में एक सत्र पर राइट क्लिक करें और "गुण" चुनते हैं, तो आप टाइमर संग्रह देख सकते हैं उस सत्र के लिए।दो दिलचस्प मान "ServerGotRequest" और "ServerBeginResponse" हैं। उन लोगों के बीच डेल्टा क्या है? – EricLaw