2010-10-23 19 views
7

Bir asp.net mvc uygulaması için web.config dosyasında executionTimeout ayarlamayı denedim. executionTimeout asp.net üzerinde çalışmaz mvc

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

herhangi i complilation en hata ayıklama "false" set ,

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

da Endeksi eylemde Thread.sleep kullandı. eylemi yaklaşık 30 saniye sonra uyku ve "istek zaman aşımı" özel durum dışarı atar ve görünüm başarıyla oluşturulmuştu.

herhangi biri nasıl executionTimeout asp.net mvc çalışacaklarını biliyor musunuz?

+0

olası yinelenen [ASP.NET MVC ve httpRuntime executionTimeout] (http://stackoverflow.com/questions/492346/asp-net-mvc-and-httpruntime-executiontimeout) –

cevap

4

Aşağıdaki yerine getirmek gerekir:

  1. Alan adı localhost'a değil (zaman aşımını test etmek için "localhost" yerine "YourComputerName" kullanmalısınız).
  2. Proje, serbest bırakma modunda derlenmiştir.
  3. <compilation debug="false">

Sonra da, bu düşünün:

Dahili olarak ASP.NET isteği iptal işlemi çağırmak için bir Timer kullanır. Bu zamanlayıcı her 15 saniyede bir tetiklenir, böylece executionTimeout 3 saniyeye ayarlanırsa, gerçekte istek 3 saniye ile 18 saniye arasında herhangi bir zamanda zaman aşımı olabilir.

Zamanlayıcı tetiklendiğinde, tüm istekleri denetlemek için ThreadPool'dan bir iş parçacığı kullanılır. Zaman aşımına uğramış olanlar, isteği yürüten iş parçacığı üzerinde Abort'u çağırarak ThreadAbortException gönderilir.

Not: ThreadAbortException'un yalnızca yönetilen kod tarafından izlenebileceğini unutmayın. Dolayısıyla, iş parçacığı bazı yönetilmeyen işlevleri çağırıyorsa, iş parçacığı iptal edilmeyecek ve bu nedenle yürütme yönetilen dünyaya dönene kadar zamanaşımı uygulanmayacaktır. Bu, yönetilmeyen kodun ne yaptığına bağlı olarak gecikme süresinin uzunluğudur.

Devamı: http://consultantpoint.wordpress.com/2012/09/07/how-the-execution-timeout-is-managed-in-asp-net/

ait