Nếu bạn muốn mở rộng số lượng thời gian cho phép cho một kịch bản ASP.NET để thực hiện sau đó tăng giá trị Server.ScriptTimeout
. Giá trị mặc định là 90 giây đối với .NET 1.x và 110 giây đối với .NET 2.0 trở lên.
Ví dụ:
// Increase script timeout for current page to five minutes
Server.ScriptTimeout = 300;
Giá trị này cũng có thể được cấu hình trong tập tin web.config
của bạn trong các yếu tố httpRuntime
cấu hình:
<!-- Increase script timeout to five minutes -->
<httpRuntime executionTimeout="300"
... other configuration attributes ...
/>
Xin lưu ý theo MSDN documentation:
"Thời gian chờ này chỉ áp dụng nếu thuộc tính gỡ lỗi trong phần biên dịch là sai. Do đó, nếu thuộc tính debug là True, bạn không cần phải thiết lập thuộc tính này đến một giá trị lớn để tránh ứng dụng tắt máy trong khi bạn đang gỡ lỗi."
Nếu bạn đã làm điều này nhưng thấy rằng phiên của bạn hết hạn sau đó tăng ASP.NET HttpSessionState.Timeout
giá trị:
Ví dụ:
// Increase session timeout to thirty minutes
Session.Timeout = 30;
giá trị này cũng có thể được cấu hình trong tập tin web.config
của bạn trong t ông sessionState
yếu tố cấu hình:
<configuration>
<system.web>
<sessionState
mode="InProc"
cookieless="true"
timeout="30" />
</system.web>
</configuration>
Nếu kịch bản của bạn đang tiến hành vài phút để thực hiện và có rất nhiều người dùng đồng thời sau đó xem xét việc thay đổi trang để một Asynchronous Page. Điều này sẽ làm tăng khả năng mở rộng của ứng dụng của bạn.
Cách khác, nếu bạn có quyền truy cập quản trị viên vào máy chủ, hãy xem xét hoạt động chạy dài này làm ứng cử viên để thực hiện tác vụ theo lịch hoặc dịch vụ cửa sổ.
FYI httpRuntime executionTimeout là trong vài giây và không có T hoa –
Nó cũng quan trọng cần lưu ý rằng chế độ debug được thiết lập là false để cho giá trị timeout này sẽ được sử dụng: –
@JesseRoper nếu bạn có thể chỉ cho tôi tài liệu về điều đó thì tôi rất sẵn lòng đưa câu trả lời vào câu trả lời hoặc bạn có thể chỉnh sửa câu trả lời của mình trực tiếp. Ta. – Kev