IIS में अनुरोध टाइमआउट कैसे बढ़ाएं?


150

IIS 7.0 में अनुरोध टाइमआउट कैसे बढ़ाया जाए? IIS 6.0 में ASP कॉन्फ़िगरेशन बसने में अनुप्रयोग टैब के तहत भी यही किया जाता है। मैं IIS 7.0 में asp.net कॉन्फ़िगरेशन अनुभाग को खोजने में सक्षम नहीं हूं

जवाबों:


182

इसे अपने वेब कॉन्फ़िगरेशन में जोड़ें

<system.web>
    <httpRuntime executionTimeout="180" />
</system.web>

https://msdn.microsoft.com/en-us/library/e1f13641(v=vs.85).aspx

वैकल्पिक टाइमस्पैन विशेषता।

ASP.NET द्वारा स्वचालित रूप से बंद होने से पहले निष्पादित करने के लिए एक अनुरोध की अनुमति देने वाले सेकंड की अधिकतम संख्या निर्दिष्ट करता है।

यह टाइम-आउट केवल तभी लागू होता है जब संकलन तत्व में डीबग विशेषता गलत है। डिबगिंग करते समय एप्लिकेशन को बंद करने से रोकने में मदद करने के लिए, इस समय-आउट को बड़े मूल्य पर सेट न करें।

डिफ़ॉल्ट "00:01:50" (110 सेकंड) है।


8
क्या इसे IIS 7 प्रबंधक GUI से सेट किया जा सकता है?
त्रिकोको

13
टाइमआउट सेकंड में निर्दिष्ट किया गया है, डिफ़ॉल्ट 110 सेकंड है। नोट: यह टाइम-आउट केवल तभी लागू होता है जब डिबग विशेषता <संकलन> तत्व में गलत पर सेट होता है!
जोएन

1
@ जोवन: आप रॉक! मैंने पहले डिबग को झूठे दिनों में बदल दिया था और इसे सभी टाइमआउट त्रुटियों के साथ संबद्ध नहीं किया था जो मुझे मिल रहा था। अब मुझे पता है।
डग एस

ध्यान दें कि निष्पादन टाइमआउट का अधिकतम मूल्य भी TimeSpan का अधिकतम मूल्य है (10675199.02: 48: 05.4775807) जो ... अधिक है तो आपको आवश्यकता है
एंटोनी

72

IIS प्रबंधक में, साइट पर राइट क्लिक करें और प्रबंधित वेब साइट -> उन्नत सेटिंग्स पर जाएंकनेक्शन सीमा विकल्प के तहत , आपको कनेक्शन टाइम-आउट देखना चाहिए ।


6
क्या यह अनुरोध टाइमआउट के समान है। मैं एक xml दस्तावेज़ और reuqest timesout से डेटा माइग्रेट करने का प्रयास कर रहा हूं। तो अगर मैं कनेक्शन टाइमआउट बढ़ाता हूं तो यह हल हो जाएगा।
डॉटनेट रॉक्स

12
मुझे नहीं लगता कि यह सही है, अगर 'HTTP कीप-अलाइव' सक्षम है, तो यह टाइमिंग सेटिंग उस पर लागू होती है, जिसका अर्थ है कि कनेक्शन कितने समय तक जीवित रहेगा, मुझे नहीं लगता कि यह 'रिक्वेस्ट टाइमआउट' से संबंधित है (कितनी देर में आईस इंतजार करता है) किसी पृष्ठ के निष्पादन के लिए) ..
दृश्य

1
मुझे लगता है कि यह कुछ स्थितियों में सही उत्तर है, जैसे कि एक बड़ी फ़ाइल अपलोड करना। अपलोड करने की प्रतीक्षा करते समय,
डेविड हैमंड

45

अनुरोध समय बढ़ाने के लिए इसे web.config में जोड़ें

<system.web>
    <httpRuntime executionTimeout="180" />
</system.web>

और एक विशिष्ट पृष्ठ के लिए इसे जोड़ें

<location path="somefile.aspx">
    <system.web>
        <httpRuntime executionTimeout="180"/>
    </system.web>
</location>

.NET 1.x के लिए डिफ़ॉल्ट 90 सेकंड है।

.NET 2.0 और बाद के लिए डिफ़ॉल्ट 110 सेकंड।


3
आपने स्थान के बारे में जानकारी के साथ +1 अर्जित किया है
गोंज़ा ओविएडो

बहुत उपयोगी। धन्यवाद!
jim1427

29

आईआईएस> = 7 में, एक <webLimits>खंड की जगह है ConnectionTimeout, HeaderWaitTimeout, MaxGlobalBandwidth, और MinFileBytesPerSec6 मेटाबेस सेटिंग्स IIS।

उदाहरण विन्यास:

<configuration>
   <system.applicationHost>
      <webLimits connectionTimeout="00:01:00"
         dynamicIdleThreshold="150"
         headerWaitTimeout="00:00:30"
         minBytesPerSecond="500"
      />
   </system.applicationHost>
</configuration>

संदर्भ के लिए: IIS में इन सेटिंग्स के बारे में अधिक जानकारी यहां पाई जा सकती है । इसके अलावा, मैं IIS प्रबंधक के "कॉन्फ़िगरेशन संपादक" के माध्यम से इस अनुभाग को web.config में जोड़ने में असमर्थ था, हालांकि मैंने इसे जोड़ने और कॉन्फ़िगरेशन को खोजे जाने के बाद इसे दिखाया।


5
यह प्रतिस्थापित करता है ConnectionTimeout, httpRuntime का नहीं executionTimeout
user2864740

15

नीचे आपकी समस्या को ठीक करने के लिए चरण दिए गए हैं।

  1. अपने IIS खोलें
  2. " साइट " विकल्प पर जाएं।
  3. माउस राइट क्लिक करें।
  4. फिर संपत्ति " वेब साइट प्रबंधित करें " खोलें ।
  5. फिर " एडवांस सेटिंग्स " पर क्लिक करें ।
  6. " कनेक्शन सीमाएं " अनुभाग का विस्तार करें , यहां आप अपना " कनेक्शन टाइम आउट " सेट कर सकते हैं

यहाँ छवि विवरण दर्ज करें


अधिक जानकारी के लिए लिंक: docs.microsoft.com/en-us/prepret-versions/dotnet/…
JPatel

11

मुझे पता है कि सवाल एएसपी के बारे में था, लेकिन शायद किसी को यह उत्तर उपयोगी लगेगा।

यदि आपके पास IIS 7.5 (जैसे टॉमकैट) के पीछे एक सर्वर है। मेरे मामले में मेरे पास एक सर्वर फार्म है जिसमें टॉमकैट सर्वर कॉन्फ़िगर किया गया है। ऐसे मामले में आप IIS प्रबंधक का उपयोग करके टाइमआउट बदल सकते हैं:

  • पर जाने के सर्वर फार्म > - {सर्वर नाम} -> प्रॉक्सी
  • समय-आउट प्रविष्टि बॉक्स में मान बदलें
  • अप्लाई (ऊपरी-दाएं कोने) पर क्लिक करें

या आप इसे कोफ़िग फ़ाइल में बदल सकते हैं:

  • % WinDir% \ System32 \ Inetsrv \ config \ applicationHost.config खोलें
  • सर्वर webFarm कॉन्फ़िगरेशन को निम्न के समान होने के लिए समायोजित करें

उदाहरण:

<webFarm name="${SERVER_NAME}" enabled="true"> 
  <server address="${SERVER_ADDRESS}" enabled="true">
    <applicationRequestRouting httpPort="${SERVER_PORT}" />
  </server>
  <applicationRequestRouting>
    <protocol timeout="${TIME}" />
  </applicationRequestRouting>
</webFarm>

$ {समय} में है : mm: एचएच एस एस (वहाँ 00:01:30 तो तुम 90 सेकंड के लिए सेट करना चाहते हैं तो डाल) प्रारूप

टॉमकैट (और शायद अन्य सर्वलेट कंटेनर) के मामले में आपको % TOMCAT_DIR% \ conf \ server.xml में टाइमआउट बदलने के लिए याद रखना होगा (सिर्फ कनेक्टर टैग में कनेक्शन टाइमआउट विशेषता खोजें , और याद रखें कि यह मिलीसेकंड में निर्दिष्ट है )


2
कृपया ध्यान दें कि आपको केवल उन उत्तरों को पोस्ट करना चाहिए जो सीधे पूछे गए प्रश्न से संबंधित हैं। चूँकि यह प्रश्न विशुद्ध रूप से IIS के बारे में है, इसलिए टॉमकैट की जानकारी वाला उत्तर वास्तव में प्रासंगिक नहीं है।
एंड्रयू बार्बर

9
इस मामले में मुझे लगता है कि उत्तर प्रासंगिक है क्योंकि यहां निर्दिष्ट उपयोग मामला (आईआईएस एप्लिकेशन रिक्वेस्ट रूटिंग का उपयोग करके किसी अन्य सर्वर पर रूट करने के लिए) आईआईएस के बारे में है। यहाँ सेटिंग IIS प्रबंधक के अंदर भी विन्यास योग्य है। FWIW, इस जवाब ने मुझे उस समस्या का निवारण करने में मदद की, जिसमें मुझे समय-समय पर अनुरोध करना चाहिए। (चूंकि आईआईएस मैनेजर में बहुत सारे टाइमआउट सेटिंग्स हैं)
जेन्सन चिंग

3

निष्पादन टाइमआउट (अनुरोध टाइमआउट) को बदलने के लिए पावर शेल कमांड के नीचे का उपयोग करें

कृपया ध्यान दें कि मैंने इसे डिफ़ॉल्ट वेब साइट के लिए दिया है, उपयोग करने से पहले कृपया इस साइट को बदल दें और फिर इसका उपयोग करने का प्रयास करें।

 Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site'  -filter "system.web/httpRuntime" -name "executionTimeout" -value "00:01:40"

या, आप समान कार्य करने के लिए नीचे C # कोड का उपयोग कर सकते हैं

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample {

    private static void Main() {

        using(ServerManager serverManager = new ServerManager()) { 
            Configuration config = serverManager.GetWebConfiguration("Default Web Site");

            ConfigurationSection httpRuntimeSection = config.GetSection("system.web/httpRuntime");
            httpRuntimeSection["executionTimeout"] = TimeSpan.Parse("00:01:40");

            serverManager.CommitChanges();
        }
    }
}

या, आप ऐसा करने के लिए जावास्क्रिप्ट का उपयोग कर सकते हैं।

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";

var httpRuntimeSection = adminManager.GetAdminSection("system.web/httpRuntime", "MACHINE/WEBROOT/APPHOST/Default Web Site");
httpRuntimeSection.Properties.Item("executionTimeout").Value = "00:01:40";

adminManager.CommitChanges();

या, आप AppCmd ​​कमांड का उपयोग कर सकते हैं।

appcmd.exe set config "Default Web Site" -section:system.web/httpRuntime /executionTimeout:"00:01:40" 
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.