2009-04-02 3 views
23

के लिए टाइमआउट मान सेट करना मेरे पास एक वेब सेवा है जो सी # में लिखी गई है जो SharePoint साइट पर रह रही है। मैं निम्नलिखित कोड के साथ web.config को संशोधित किया है:.NET वेब सेवा

<configuration> 
    <system.web> 
    <httpRuntime executionTimeout="360" /> 

...

आईआईएस Inetpub फ़ाइल, सपा ISAPI web.config फ़ाइल और सपा लेआउट web.config के लिए

। मैंने उसी कोड के साथ machine.config फ़ाइल को भी संशोधित किया है और आईआईएस में देखे गए किसी भी टाइमआउट को टक्कर देने का प्रयास किया है।

जब मैं विंडोज सी # एप्लिकेशन से इस वेब सेवा को कॉल करता हूं तो मैं वेब विधि में कदम उठा सकता हूं और चर को डीबग करना शुरू कर सकता हूं लेकिन थोड़े समय के बाद (~ 1 मिनट, शायद कम) परिवर्तनीय मान अब मौजूद नहीं हैं क्योंकि यह मिलता है लौटा:

System.Net.WebException "अनुरोध निरस्त कर दिया गया था: ऑपरेशन का समय समाप्त हो गया है।"

मैं यह पता लगाने की कोशिश कर रहा हूं कि सही टाइमआउट मानों को सेट करने की आवश्यकता है और कैसे। मैंने आईआईएस को फिर से शुरू किया है जब मैंने हर बदलाव किया है लेकिन अलग-अलग नतीजे देने के लिए कुछ भी नहीं बदला है।

धन्यवाद

उत्तर

24

अपने वेब सेवा प्रॉक्सी वर्ग में टाइमआउट मान सेट करके देखें:

WebReference.ProxyClass myProxy = new WebReference.ProxyClass(); 
myProxy.Timeout = 100000; //in milliseconds, e.g. 100 seconds 
+0

दस्तावेज़ीकरण ऑनलाइन कहता है कि executionTimeout सेकंड में है msdn पर ... –

+0

आप सही हैं .... मैंने अपना जवाब अपडेट किया। क्या आपने प्रॉक्सी क्लास पर टाइम आउट मान सेट करने का प्रयास किया था? –

+0

क्या आप यह स्पष्ट कर सकते हैं कि आप यह कहां करने का सुझाव दे रहे हैं? मेरे पास वेब सेवा तत्काल है लेकिन मुझे प्रॉक्सी क्लास के लिए कोई गुण नहीं दिखता है, केवल प्रॉक्सी ... धन्यवाद –

17

बंधन और अंत बिंदु निर्दिष्ट हो अपने ग्राहक बनाने के बाद, आप एक OperationTimeout असाइन कर सकते हैं,

client.InnerChannel.OperationTimeout = new TimeSpan(0, 5, 0); 
+0

जब मैं इस प्रयास किया यह कोई फर्क – Jimbo

+0

निजी शून्य SetRequestTimeout (IClientChannel ग्राहक) बनाने के लिए नहीं मालूम था { अगर (ग्राहक = अशक्त!) { client.OperationTimeout = नई समयावधि (0, TIMEOUT_EXPIRE_IN_MIN, 0); } } –

+0

इसे इस तरह से कर रहे हैं? यह टाइमआउट सेट करना चाहिए। –