2010-10-23 16 views
7

पर काम नहीं करता है मैंने एएसपीनेट एमवीसी एप्लिकेशन के लिए web.config में निष्पादनटाइमआउट सेट करने का प्रयास किया। निष्पादन टाइमआउट एएसपीनेट एमवीसी

<location path="Home/Index"> 
    <system.web> 
     <httpRuntime executionTimeout="5"/> 
    </system.web> 
    </location> 

किसी भी

public ActionResult Index() 
     { 
      Thread.Sleep(30000);    
      return View(); 
     } 

भी सूचकांक कार्रवाई में Thread.Sleep इस्तेमाल किया, मैं complilation के डिबग "गलत" निर्धारित किया है। कार्रवाई के बाद 30 सेकंड के बारे में सोते हैं और "अनुरोध टाइमआउट" अपवाद फेंकता नहीं है और दृश्य सफलतापूर्वक प्रस्तुत किया गया था।

किसी को भी एस्पॉन्टर एमवीसी में काम करने के लिए निष्पादन बनाने के बारे में पता है?

+0

संभव डुप्लिकेट [ASP.NET MVC और httpRuntime executionTimeout] (http://stackoverflow.com/questions/492346/asp-net-mvc-and-httpruntime-executiontimeout) –

उत्तर

4

आप निम्न को पूरा करने की जरूरत है:

  1. डोमेन नाम स्थानीय होस्ट नहीं है (टाइमआउट का परीक्षण करने के लिए आपको "लोकलहोस्ट" के बजाय "YourComputerName" का उपयोग करना चाहिए)।
  2. परियोजना रिलीज मोड में संकलित है।
  3. <compilation debug="false">

फिर भी, इस बारे में सोचते हैं:

आंतरिक ASP.NET अनुरोध रद्द करने की प्रक्रिया को लागू करने के लिए एक टाइमर का उपयोग करता है। यह टाइमर प्रत्येक 15 सेकंड में एक बार निकाल दिया जाता है, इसलिए यदि executionTimeout 3 सेकंड पर सेट किया गया है, तो वास्तव में अनुरोध किसी भी समय 3 सेकंड और 18 सेकंड के बीच टाइमआउट कर सकता है।

जब टाइमर निकाल दिया जाता है, तो थ्रेडपूल से एक थ्रेड का उपयोग सभी अनुरोधों को जांचने के लिए किया जाता है। जिन लोगों ने समय निकाल दिया है उन्हें अनुरोध पर निष्पादित थ्रेड पर एबॉर्ट को कॉल करके ThreadAbortException भेजा गया है।

नोट: ध्यान रखें कि ThreadAbortException केवल प्रबंधित कोड द्वारा देखा जा सकता है। तो यदि आप थ्रेड कुछ अप्रबंधित कार्यों को बुला रहे हैं, तो धागा निरस्त नहीं किया जाएगा, और इसलिए टाइमआउट को लागू नहीं किया जाएगा, जब तक कि निष्पादन प्रबंधित दुनिया में वापस न आए। यह उन अप्रबंधित कोड के आधार पर विलंब की मनमानी लंबाई हो सकती है।

और अधिक पढ़ें: http://consultantpoint.wordpress.com/2012/09/07/how-the-execution-timeout-is-managed-in-asp-net/

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