2008-10-23 14 views
61

डब्ल्यूसीएफ में टाइमआउट कैसे काम करते हैं? मुझे उदाहरण के लिए पता है कि आप क्लाइंट बाध्यकारी के लिए sendTimeout और प्राप्त करने के लिए टाइमआउट कॉन्फ़िगर कर सकते हैं। लेकिन वे कैसे काम करते हैं?टाइमआउट डब्ल्यूसीएफ सेवाएं

MSDN sendTimeout का वर्णन के रूप में:

एक timespan मूल्य है कि एक भेजने पूरा करने के लिए ऑपरेशन के लिए उपलब्ध कराए गए समय के अंतराल निर्दिष्ट करता है। यह मान ज़ीरो से से अधिक या बराबर होना चाहिए। डिफ़ॉल्ट 00:01:00 है।

ऑपरेशन भेजने/संचालन क्या हैं?

उत्तर

61

क्लाइंट साइड:

  • SendTimeout OperationTimeout है, जो (एक अनुरोध-उत्तर के मामले में एक उत्तर संदेश प्राप्त कर सहित) एक संदेश भेजने के लिए पूरी बातचीत को नियंत्रित करता प्रारंभ करने में प्रयोग किया जाता है। यह टाइमआउट भी कॉलबैक कंट्रैक्ट विधि से उत्तर संदेश भेजते समय लागू होता है।
  • ओपनटाइमआउट और क्लोजटाइमआउट का उपयोग चैनल खोलने और बंद करने पर किया जाता है (जब कोई स्पष्ट टाइमआउट मान पास नहीं होता है)।
  • ReceiveTimeout का उपयोग नहीं किया जाता है।

सर्वर साइड:

  • संदेश, खोलें, और बंद ग्राहक (कॉलबैक के लिए) के रूप में ही समाप्त हो गया।
  • सत्र-निष्क्रिय टाइमआउट प्रारंभ करने के लिए ReceiveTimeout ServiceFramework परत द्वारा उपयोग किया जाता है।

स्रोत Brian McNamara on MSDN forums है।

+0

यह लिंक मर चुका है, क्या कोई इसे अपडेट कर सकता है? – BrettRobi

+5

लिंक मेरे लिए काम करता है – Brian

+0

यदि मैं ऑपरेशनटाइमआउट को बहुत अधिक मूल्य पर सेट करता हूं, और एक हास्यास्पद छोटे मूल्य के लिए टाइमआउट भेजता हूं, जिसमें संक्षेप में समय समाप्ति होनी चाहिए, मुझे कभी भी टाइमआउट अपवाद नहीं मिलता है। क्या कोई मुझे बता सकता है कि sendTimeout अपवाद को ट्रिगर करने के लिए मैं एक उदाहरण कैसे स्थापित कर सकता हूं? –

9

"WCF में टाइमआउट और उनके डिफ़ॉल्ट मानों" http://blogs.msdn.com/b/hongmeig/archive/2010/03/06/timeouts-in-wcf-and-their-default-values.aspx

टाइमआउट देखें बाध्यकारी-SendTimeout पर, ReceiveTimeout, OpenTimeout और CloseTimeout। उन्हें बाध्यकारी पर कॉन्फ़िगरेशन या कोड के माध्यम से आसानी से सेट किया जा सकता है। उनके लिए डिफ़ॉल्ट मान 1 मिनट है।

सर्विसहोस्ट में ओपनटाइमआउट और क्लोजटाइमआउट है। OpenTimeout के लिए डिफ़ॉल्ट 1 मिनट है, और CloseTimeout के लिए डिफ़ॉल्ट 10 सेकंड है।

क्लाइंट साइड चैनल पर टाइमआउट। एक ऑपरेशनटाइमआउट है, जो आप इसे चैनल को IContextChannel में कास्ट करके सेट कर सकते हैं। इसके लिए डिफ़ॉल्ट भी 1 मिनट है। टीसीपी परिवहन पर टीटाउटआउट, जिसे चैनलइनेशनटाइमआउट कहा जाता है, और इसका डिफ़ॉल्ट मान 5 सेकंड है।

एएसपीएनईटी।शट डाउन टाइमआउट है, जैसे सर्विस होस्ट बंद टाइमआउट, डिफ़ॉल्ट 90 सेकंड है। ExecutionTimeout, बस हमारे ऑपरेशन टाइमआउट की तरह, डिफ़ॉल्ट 110 सेकंड है।

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