首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >executionTimeout不使用asp.net mvc

executionTimeout不使用asp.net mvc
EN

Stack Overflow用户
提问于 2010-10-23 03:30:52
回答 2查看 5.3K关注 0票数 11

我尝试在web.config中为asp.net mvc应用程序设置asp.net。

代码语言:javascript
复制
<location path="Home/Index">
    <system.web>
      <httpRuntime  executionTimeout="5"/>
    </system.web>
  </location>

索引操作中使用的任何Thread.Sleep

代码语言:javascript
复制
public ActionResult Index()
{
    Thread.Sleep(30000);            
    return View();
}

另外,我将complilation的调试设置为"false"。动作休眠约30秒后,“请求超时”异常不会抛出,视图已成功呈现。

谁知道如何使executionTimeout在asp.net mvc中工作?

EN

回答 2

Stack Overflow用户

发布于 2012-12-14 21:37:32

您需要完成以下操作:

"localhost").

  • Project域名不是localhost (要测试超时,应该在mode.

  • <compilation debug="false">

版本中使用"YourComputerName“而不是)

然后,再想想这个:

在内部,ASP.NET使用计时器来调用请求取消过程。这个计时器每15秒触发一次,所以如果executionTimeout设置为3秒,实际上请求可以在3秒到18秒之间的任何时间超时。

当触发计时器时,将使用ThreadPool中的一个线程来检查所有请求。已超时的线程通过调用执行请求的线程上的Abort来发送ThreadAbortException

注意:请记住,ThreadAbortException只能由托管代码观察。因此,如果您的线程正在调用一些非托管函数,线程将不会被中止,因此超时将不会强制执行,直到执行返回到托管世界。这可以是任意长度的延迟,这取决于这些非托管代码所做的工作。

阅读更多:http://consultantpoint.wordpress.com/2012/09/07/how-the-execution-timeout-is-managed-in-asp-net/

票数 12
EN

Stack Overflow用户

发布于 2011-11-02 23:30:02

如果将web.config设置为debug="true“,它将忽略设置的值:http://msdn.microsoft.com/en-us/library/e1f13641.aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4002326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档