首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure ASP.NET MVC:避免~3分钟请求超时?

Azure ASP.NET MVC:避免~3分钟请求超时?
EN

Stack Overflow用户
提问于 2013-07-24 22:37:47
回答 1查看 1.5K关注 0票数 2

我正在尝试从ASP.NET MVC控制器下载一个100 it的文件,但在3-4分钟后就会超时(它是不同的)。

代码语言:javascript
复制
    public ActionResult DownloadMyFile() {
        Server.ScriptTimeout = 60 * 60; // 1 hr timeout for downloading myfile

        Response.AddHeader("Content-Disposition", "attachment; filename=myfile");
        Response.BufferOutput = false;

        this.CloudBlobContainer
              .GetBlobReference("myfile")
              .DownloadToStream(Response.OutputStream);

        return new EmptyResult();
    }
  • 这并不发生在我的本地机器上,直接将它作为ASP.NET MVC应用程序运行,我怀疑这是在蔚蓝堆栈( IIS服务器??)中出现的。
  • 超时似乎是基于时间的,而不是基于文件大小的。
  • 超时不会返回错误到浏览器,他们认为他们得到了整个文件,并停止了一个成功的报告(!)。
  • 该文件目前托管在Azure存储上,但将来可能来自另一个源,因此我不想仅仅重定向到blob存储URL。
  • 这是一种很少使用的管理方法,并且不需要经过优化/复杂才能成为异步或任何东西,除非这确实是唯一的方法。
EN

回答 1

Stack Overflow用户

发布于 2013-07-24 22:56:09

您可以尝试增加web.config中的执行超时。

以下内容将超时时间更改为1小时(3600秒):

代码语言:javascript
复制
<system.web>
  <httpRuntime 
      executionTimeout="3600"
    />

默认为110秒。

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

https://stackoverflow.com/questions/17846020

复制
相关文章

相似问题

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