42

我想增加httpRuntime executionTimeout一个 ASP.NET MVC 应用程序的一个小节。

在常规 Web 应用程序中,您可以使用:

<configuration>
  <location path="UploadPage.aspx">
    <httpRuntime executionTimeout="600"/>
  </location>
</configuration>

然而,在 ASP.NET MVC 中确实没有“文件夹”的想法,那么我将如何去做呢?

让我们假设 ASP.NET MVC 路径/Images/Upload带有一个 ImagesController 和 Upload Action。

4

5 回答 5

51

您可以在 <location> 标记的路径属性中包含整个 MVC 路径(控制器和操作)。像这样的东西应该工作:

<location path="Images/Upload">
    <system.web>
        <httpRuntime executionTimeout="600" />
    </system.web>
</location>
于 2009-03-11T22:19:34.530 回答
8

Chris Hynes 解决方案有效!请确保不要将 ~/ 包含在您的路径中。

这个答案详细说明了另一种方式 - 只需ScriptTimeout在您的操作代码中设置:

public ActionResult NoTimeout()
{
    HttpContext.Server.ScriptTimeout = 60 * 10; // Ten minutes..
    System.Threading.Thread.Sleep(1000 * 60 * 5); // Five minutes..
    return Content("NoTimeout complete", "text/plain"); // This will return..
}
于 2009-03-14T05:33:57.470 回答
1

如果操作在默认控制器中,则 home/upload 不起作用,您只需输入操作名称。

于 2009-04-20T20:00:18.117 回答
1

我注意到您正在专门尝试增加上传页面的超时时间。我在名为 plupload 的“分块”上传器上取得了一些成功。可以设置一个相对简单的 MVC 操作来接收上传的块,并在收到每个块时附加它。使用小块,您无需增加超时。当然可能会有一些浏览器限制,但是 n

http://plupload.com/

于 2012-07-19T13:37:31.227 回答
0

看看一个 AsyncController,如果你使用它,你将有可能在一个动作方法上设置一个 AsyncTimeout 属性,这样你就可以使请求超时。

帮助我的链接: http ://forums.asp.net/p/1564303/3922462.aspx http://dariosantarelli.wordpress.com/2010/10/16/asp-net-mvc-2-handling-timeouts-异步控制器/

于 2011-12-15T08:25:02.800 回答