हमारे पास आईआईएस में होस्ट की गई डब्ल्यूसीएफ सेवा है। मैं लॉग फाइलों से देख सकता हूं कि एक क्लाइंट जो एक अनुरोध भेजता है जो निष्पादित करने में 3 मिनट से अधिक समय लेता है HTTP HTTP (सेवा अनुपलब्ध) त्रुटि प्राप्त करता है।आईआईएस होस्टेड डब्ल्यूसीएफ सेवा पर मैं टाइमआउट कैसे बदलूं?
मैं टाइमआउट कैसे बदलूं? इसका परीक्षण करने के लिए मैंने यह सुनिश्चित करने के लिए टाइमआउट को 3 सेकंड तक घटा दिया कि यह वास्तव में समाप्त हो गया है।
मैं
<system.web>
<httpRuntime executionTimeout="3"/>
</system.web>
जो कुछ भी नहीं लग रहा था की कोशिश की है।
मैंने बाध्यकारी को बदलने का भी प्रयास नहीं किया है।
<basicHttpBinding>
<binding name="basicHttp" receiveTimeout="00:00:03" sendTimeout="00:00:03" >
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
ध्यान दें, मैं एक अवधि हमें द्वारा नियंत्रित के बाद विफलता के कुछ प्रकार वापस जाने के लिए WCF सेवा प्राप्त करने के लिए कोशिश कर रहा हूँ। मैं उस अनुरोध की अपेक्षा नहीं कर रहा हूं जिसने समाप्त होने की उम्मीद से अधिक समय लिया है।
मेरे बालों को फाड़ने से पहले किसी भी मदद की सबसे सराहना की गई।
बस स्पष्ट करने के लिए ...
सेवा अप किया गया है और कुछ महीनों के लिए चल रहा है। लेकिन कभी-कभी लंबे समय तक चलने वाले अनुरोध को संसाधित करते समय, ग्राहक को 3 मिनट के बाद HTTP 503 प्रतिक्रिया प्राप्त होती है। पृष्ठभूमि में हम देख सकते हैं कि अनुरोध ठीक से प्रसंस्कृत किया गया है लेकिन इसमें 5 मिनट लग गए हैं। जाहिर है इस बिंदु से यह बहुत देर हो चुकी है क्योंकि क्लाइंट को पहले से ही एक त्रुटि प्रतिक्रिया मिली है।
अन्य अनुरोध सामान्य के रूप में संसाधित किए जा रहे हैं।
इस बिंदु पर सिस्टम पर लोड बहुत कम है। वास्तव में, यह एक परीक्षण वातावरण है और लेन-देन एक समय में बिना किसी ओवरलैप के होते हैं।
मैं भी निश्चित हूं कि बाइंडिंग एंडपॉइंट्स से जुड़े हुए हैं। मैंने डब्ल्यूसीएफ कॉन्फ़िगर संपादक में कॉन्फ़िगरेशन फ़ाइल खोली है और सब कुछ ठीक से जुड़ा हुआ है।
क्या डब्ल्यूसीएफ में इस बिंदु पर एक समय को कॉन्फ़िगर करना भी संभव है? अगर मैं नहीं समझूंगा, तो फिर एक HTTP 503 त्रुटि क्यों लौटाई जा रही है?
हम वास्तव में करना चाहते हैं कि 503 प्रतिक्रिया वापस आने से पहले समय की लंबाई नियंत्रित करें।
क्या आपने शायद इस अतुल्यकालिक रूप से चलने और परिणाम मतदान करने के बारे में सोचा है? – ChrisBint
सेवा थोड़ी देर के लिए उत्पादन में रही है और निकट भविष्य में इस प्रकार का परिवर्तन नहीं होने वाला है। समय के लिए, हम सिर्फ टाइमआउट अवधि को नियंत्रित करना चाहते हैं। – illusio
यदि सेवा में बाध्यकारी त्रुटि है (विशेष हैंडलिंग के बिना) क्लाइंट केवल एक HTTP त्रुटि दिखाई देगा। यदि आप क्लाइंट प्रॉक्सी के टाइमआउट को 3 सेकंड में बदलते हैं, तो क्लाइंट को उस संचार अपवाद को देखना चाहिए जो आप उम्मीद करते हैं। – ErnieL