2009年8月21日 星期五

避免檔案上傳 timeout

當檔案上傳的資料量很大時,除了要設定可上傳的資料大小之外,
還要設定 TimeOut 時間,因為大檔在上傳時,會花很多時間。

可以在 web.config 的 <httpRuntime> tag 上,加設 executionTimeout 屬性。

範例:<httpRuntime executionTimeout="6000" maxRequestLength="1000000"/>

但要記得,如果有使用 executionTimeout 屬性,務必要將 compilation 的偵錯設為 false 才有效果。
<compilation debug="false">


補充 MSDN 資料:

executionTimeout

選擇性 TimeSpan 屬性。

指定由 ASP.NET 自動關閉之前允許執行要求的最大秒數。

這個逾時只在 compilation 項目中的偵錯屬性為 False 時才適用。
若要在偵錯時避免關閉應用程式,請不要將這個逾時設定為大的數值。

預設值為 "00:01:50" (110 秒)。


在 .NET Framework 1.0 和 1.1 版中,預設值為 90 秒

maxRequestLength

選擇性 Int32 屬性。

指定輸入資料流緩衝臨界值的限制,以 KB 為單位。這個限制可以用來防止服務拒絕攻擊,例如由使用者將大型檔案回傳至伺服器所引起的攻擊。

預設值為 4096 (4 MB)。



參考網址:


沒有留言:

張貼留言