2013-01-10 112 views
2

我有一個ASPX WebForms站點,用戶可以請求文件下載。下載鏈接是一個LinkBut​​ton,它將Response.Redirect()調用爲.ashx文件。爲大文件下載設置超時時間

我需要對其進行修改,以便如果它在20秒內未返回,它將對請求進行異步處理的web服務進行不同的調用。問題是,我不知道如何設置Response.Redirect的超時時間。

我知道設置超時的唯一地方是JQuery.Ajax調用,它根本沒有下載文件。我還需要能夠測試超時時間,以便我可以進行備用呼叫並調整UI。我在如何構建它的過程中有一些餘地;例如,我讀博客說創建一個iframe並將iframe.src設置爲下載器.ashx。這工作,但我不能指定超時。

回答

2

我不認爲這解決了您的問題,但您可以在web.config中設置頁面的超時時間。例如,

<location path="Page.aspx"> 
    <system.web> 
     <httpRuntime executionTimeout="60" /> 
    </system.web> 
</location> 

ASP.NET HTTP runtime settings.

+0

這可能是有益的,但我看不出它如何幫助我捕獲錯誤。我必須能夠在JQuery中測試某些內容以查看請求是否超時。 – MrEff

+0

而不是讓鏈接做一個Response.Redirect可以讓它調用頁面上的Web方法來下載文件並設置頁面的executionTimeout?如果達到超時,我認爲jQuery的ajax調用會捕獲錯誤,然後您可以使用它的錯誤屬性處理它。 – cmotley