2010-06-24 55 views
28

Có thể tăng thời gian chờ cho một trang ASP.net duy nhất không. Tôi biết nó có thể ở cấp độ máy chủ, nhưng nó có thể ở cấp độ trang?Tăng thời gian chờ ASP.Net trên mỗi trang mức

Tôi cần điều này cho một trang báo cáo duy nhất mất 2-3 phút để tải

bất kỳ ý tưởng nào?

+0

Tăng thời gian chờ? Bạn có nghĩa là * giảm * nó? Để tăng thời gian thực hiện bởi một trang để tải, bạn luôn có thể sử dụng Thread.Sleep (http://msdn.microsoft.com/en-us/library/d00bd51t.aspx). –

Trả lời

26

Tôi nghĩ rằng những gì bạn đang tìm kiếm là ScriptTimeout. Bạn có thể đặt trong trang này như sau:

Page.Server.ScriptTimeout = 60; 

Giá trị thời gian chờ tính bằng giây.

Ngoài ra, hãy lưu ý rằng nếu bạn đang chạy trong chế độ gỡ lỗi, điều này sẽ bị bỏ qua và thời gian chờ được đặt ở mức tối đa; Tôi không nghĩ rằng đó là một vấn đề cho bạn dù sao, vì bạn đang tăng thời gian chờ, không giảm nó.

+0

Đã làm việc cho tôi. Tôi cũng phải tạo ra 'maxRequestLength' để trả về một tệp lớn. Nó nằm trong 'Web.config', phần' system.web', ngay bên cạnh ScriptTimeout mặc định: '' – Andomar

+3

[This] (http://stackoverflow.com/a/20901670/845584) gợi ý rằng ScriptTimeout là ASP cổ điển và 'ExecutionTimeout' thay thế nó, tuy nhiên dường như bạn không thể đặt cái sau ở cấp độ trang, vì vậy có vẻ như đây là một chút lỗi kế thừa? (Ngoài ra [ở đây] (http://stackoverflow.com/a/29754/845584)). – PeterX

15

Theo this page, và tôi có thể xác minh quá, một cách tốt để đạt được điều này là để thêm video này của cấu hình của bạn configSection:

<location path="~/MyPage.aspx"> 
    <system.web> 
     <httpRuntime executionTimeout="600"/>  
    </system.web>  
    </location> 

Sau đó, bạn cũng có thể thêm các thuộc tính khác như maxRequestLength="204800" hoặc bộ phận khác, như:

<location path="~/MyPage.aspx"> 
    <system.web> 
     <httpRuntime executionTimeout="6000" maxRequestLength="204800" />  
    </system.web>  
    <system.webServer> 
     <security> 
     <requestFiltering> 
      <requestLimits maxAllowedContentLength="209715200" /> 
     </requestFiltering> 
     </security> 
    </system.webServer> 
    </location> 

Hy vọng điều này sẽ hữu ích.

+0

Điều này cũng làm việc cho các đường dẫn ảo như các ứng dụng MVC hoặc phần mềm trung gian OWIN mà bạn đăng ký một URL nhất định? – flq

+0

Hmm ... câu hỏi thú vị. Nó có lẽ sẽ, nhưng tôi đã không thử nó. Tối đa, bạn sẽ phải tinh chỉnh đường dẫn vị trí và/hoặc trình xử lý http và/hoặc các lớp trình xử lý bộ định tuyến cho phù hợp để nó hoạt động. Hãy cho tôi biết nếu có bất cứ điều gì làm việc cho bạn. Hiếu kỳ. – Krishnan

Các vấn đề liên quan