2011-12-09 19 views
14

मैंने हाल ही में लिंकपैड का उपयोग करना शुरू कर दिया है, और ऑटोकंपलेट विकल्प खरीदा है और वास्तव में इसे प्यार करता हूं। यह एक शानदार उत्पाद है!आप लिंकपैड में कमांड टाइमआउट कैसे सेट करते हैं?

मैं पूछना चाहता था कि क्या मुझे टाइमकआउट को नियंत्रित करने का कोई तरीका है जो LINQPAD में SQL सर्वर डेटाबेस से पूछताछ करते समय उपयोग किया जाता है (मैं C# कथन का उपयोग कर रहा हूं)? मैं नहीं देख सकता कि हमारे पास वास्तविक कनेक्शन स्ट्रिंग तक पहुंच है, और मेरे पास समय-समय पर रिपोर्टिंग के लिए कुछ बड़े प्रश्न हैं। ऐसा लगता है कि टाइमआउट 30 सेकंड में हार्ड-कोड किया गया है।

किसी भी मदद के लिए अग्रिम धन्यवाद!

उत्तर

15

मेरे पास ऐसे प्रश्न हैं जो मिनट ले चुके हैं और कभी भी कमांड का समय नहीं था। जैसा कि कहा गया है, यहाँ उसे बदलने का तरीका है ...


काम आप एक UserQuery अंदर प्रदर्शन के सभी। CommandTimeout इसकी एक संपत्ति है।

this.CommandTimeout = 60; 

this के तहत सभी संपत्तियों को देखें। यह आपको कुछ चीजों में एक अच्छी अंतर्दृष्टि देता है जो आप कर सकते हैं।

+0

धन्यवाद! (विशेष रूप से निकट-तत्काल प्रतिक्रिया के लिए! (खुद को लात मारने के लिए खुद को लात मारना!) (दिया गया है कि मैं इसे अपने कोड पर दिन में दस लाख बार करता हूं!) वैसे भी, यह पूरी तरह से काम करता है! – blairh

+0

यह एक अच्छी सुविधा है , मुझे यकीन नहीं है कि यह बेहतर दस्तावेज क्यों नहीं किया गया है। – DaveShaw

+0

@ user1090088 - क्या आप एसओ शैली को ध्यान में रखते हुए जवाब स्वीकार कर सकते हैं: http://stackoverflow.com/faq#howtoask? धन्यवाद। – DaveShaw

7

@DaveShaw's answer में उल्लेख किया है जब LINQPad में एक SQL सर्वर डाटाबेस एक 'नियमित' कनेक्शन का उपयोग कर क्वेरी करने के लिए, आप उपयोग कर सकते हैं:

this.CommandTimeout = 60 

हालांकि, इस संपत्ति उपलब्ध जब LinqPad connects to DB using an EF-library नहीं है। में उपयोग करना this.CommandTimeout परिणाम:

'UserQuery' 'CommandTimeout' के लिए एक परिभाषा और कोई विस्तार विधि 'CommandTimeout' प्रकार 'UserQuery' का एक पहला तर्क को स्वीकार करने में नहीं है पाया जा सकता है (F4 दबाएं एक का उपयोग कर जोड़ने के लिए निर्देश या विधानसभा संदर्भ)

कुछ पेचीदा और एक इस जवाब about EF time-outs in general मुझे नेतृत्व एक एफई-कनेक्शन पर यह उपयोग करने के लिए:

(this as IObjectContextAdapter).ObjectContext.CommandTimeout = 60; 
संबंधित मुद्दे