2012-11-21 20 views
5

हमारे पास आईआईएस में होस्ट की गई डब्ल्यूसीएफ सेवा है। मैं लॉग फाइलों से देख सकता हूं कि एक क्लाइंट जो एक अनुरोध भेजता है जो निष्पादित करने में 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 प्रतिक्रिया वापस आने से पहले समय की लंबाई नियंत्रित करें।

+0

क्या आपने शायद इस अतुल्यकालिक रूप से चलने और परिणाम मतदान करने के बारे में सोचा है? – ChrisBint

+0

सेवा थोड़ी देर के लिए उत्पादन में रही है और निकट भविष्य में इस प्रकार का परिवर्तन नहीं होने वाला है। समय के लिए, हम सिर्फ टाइमआउट अवधि को नियंत्रित करना चाहते हैं। – illusio

+0

यदि सेवा में बाध्यकारी त्रुटि है (विशेष हैंडलिंग के बिना) क्लाइंट केवल एक HTTP त्रुटि दिखाई देगा। यदि आप क्लाइंट प्रॉक्सी के टाइमआउट को 3 सेकंड में बदलते हैं, तो क्लाइंट को उस संचार अपवाद को देखना चाहिए जो आप उम्मीद करते हैं। – ErnieL

उत्तर

1

आईआईएस में एक प्रयोग और एक परीक्षण डब्ल्यूसीएफ सेवा के बाद, मैं समस्या को पुन: पेश करने में असमर्थ था - यहां तक ​​कि उसी सर्वर पर भी। मुद्दा केवल कंपनी के भीतर किसी अन्य समूह द्वारा देखा जाता है।

एक ही रास्ता मैं एक HTTP मजबूर कर सकता है 503 त्रुटि अनुप्रयोग पूल ऑफ़लाइन लेने के लिए था, लेकिन इस वजह से जाहिर त्रुटियों तुरंत वापस जाने के लिए एक अनुरोध में आया था।

आगे की जांच से पता चला है कि HTML के साथ जुड़े आईआईएस से आने वाली 503 प्रतिक्रिया ग्राहक से लौटने से अलग थी।

मान्य रूप से यह अभी तक अप्रमाणित है, लेकिन हमने निष्कर्ष निकाला है कि यह समस्या क्लाइंट और सर्वर के बीच कुछ नेटवर्क घटक के कारण हुई है।

वास्तव में टाइमआउट लौटने के बीच में एक प्रॉक्सी थी।

1

आम तौर पर जब मैं एक बाध्यकारी में परिवर्तन करता हूं जिसका सेवा अंतराल पर कोई प्रभाव नहीं पड़ता है, तो ऐसा इसलिए होता है क्योंकि बाइंडिंग एंडपॉइंट से कनेक्ट नहीं होती है।

यदि सबकुछ अब 503 हो रहा है और यह पहले काम करता है, तो यह हो सकता है कि उपयोगकर्ता पूल जो कि एप्लिकेशन पूल की पहचान है, का समय समाप्त हो गया है।

यदि यह कुछ कॉल के लिए काम कर रहा है, न कि दूसरों के लिए, और लोड बढ़ गया है, तो यह हो सकता है कि ग्राहक कनेक्शन बंद नहीं कर रहे हैं और आप अधिकतम संख्या में समवर्ती कॉल के लिए डिफ़ॉल्ट सीमा को मार रहे हैं।

+0

शिराज का जवाब देने के लिए धन्यवाद। मैंने जवाब में अपना प्रश्न बढ़ाया है। मेरे शुरुआती विचार समान थे, कि बाध्यकारी वास्तव में संदर्भ नहीं है लेकिन मुझे पूरा विश्वास है कि यह ठीक है। और 503 त्रुटियां केवल तब लौटा दी जाती हैं जब लेनदेन> प्रक्रिया में 3 मिनट लगते हैं। – illusio

संबंधित मुद्दे