Câu trả lời:
Thêm phần này vào Cấu hình web của bạn
<system.web>
<httpRuntime executionTimeout="180" />
</system.web>
https://msdn.microsoft.com/en-us/l Library / e1f13641 (v = vs85) .aspx
Tùy chọn TimeSpan thuộc tính.
Chỉ định số giây tối đa mà yêu cầu được phép thực hiện trước khi tự động tắt bởi ASP.NET.
Thời gian chờ này chỉ áp dụng nếu thuộc tính gỡ lỗi trong phần tử biên dịch là Sai. Để giúp ngăn chặn ứng dụng tắt trong khi bạn gỡ lỗi, đừng đặt thời gian chờ này thành một giá trị lớn.
Mặc định là "00:01:50" (110 giây).
Trong IIS Manager, nhấp chuột phải vào trang web và đi đến Quản lý trang web -> Cài đặt nâng cao . Trong tùy chọn Giới hạn kết nối , bạn sẽ thấy Hết thời gian kết nối .
Để tăng thời gian yêu cầu, hãy thêm nó vào web.config
<system.web>
<httpRuntime executionTimeout="180" />
</system.web>
và cho một trang cụ thể thêm điều này
<location path="somefile.aspx">
<system.web>
<httpRuntime executionTimeout="180"/>
</system.web>
</location>
Mặc định là 90 giây cho .NET 1.x.
110 giây mặc định cho .NET 2.0 trở lên.
Trong IIS> = 7, một <webLimits>
phần đã thay thế ConnectionTimeout
, HeaderWaitTimeout
, MaxGlobalBandwidth
, vàMinFileBytesPerSec
IIS 6 thiết lập metabase.
Cấu hình ví dụ:
<configuration>
<system.applicationHost>
<webLimits connectionTimeout="00:01:00"
dynamicIdleThreshold="150"
headerWaitTimeout="00:00:30"
minBytesPerSecond="500"
/>
</system.applicationHost>
</configuration>
Để tham khảo: thông tin thêm về các cài đặt này trong IIS có thể được tìm thấy ở đây . Ngoài ra, tôi không thể thêm phần này vào web.config thông qua "trình chỉnh sửa cấu hình" của trình quản lý IIS, mặc dù nó đã hiển thị khi tôi thêm nó và tìm kiếm cấu hình.
ConnectionTimeout
, không phải của httpR.78 executionTimeout
.
Dưới đây được cung cấp các bước để khắc phục vấn đề của bạn.
Tôi biết câu hỏi là về ASP nhưng có lẽ ai đó sẽ thấy câu trả lời này hữu ích.
Nếu bạn có một máy chủ đằng sau IIS 7.5 (ví dụ Tomcat). Trong trường hợp của tôi, tôi có một cụm máy chủ với máy chủ Tomcat được cấu hình. Trong trường hợp đó, bạn có thể thay đổi thời gian chờ bằng Trình quản lý IIS:
hoặc bạn có thể thay đổi nó trong tệp cofig:
Thí dụ:
<webFarm name="${SERVER_NAME}" enabled="true">
<server address="${SERVER_ADDRESS}" enabled="true">
<applicationRequestRouting httpPort="${SERVER_PORT}" />
</server>
<applicationRequestRouting>
<protocol timeout="${TIME}" />
</applicationRequestRouting>
</webFarm>
Các $ {} THỜI GIAN là trong HH: mm: ss định dạng (vì vậy nếu bạn muốn đặt nó là 90 giây sau đó đặt ở đó 00:01:30)
Trong trường hợp Tomcat (và có thể là các thùng chứa servlet khác), bạn phải nhớ thay đổi thời gian chờ trong % TOMCAT_DIR% \ conf \ server.xml (chỉ tìm kiếm thuộc tính ConnectionTimeout trong thẻ Trình kết nối và nhớ rằng nó được chỉ định theo mili giây )
Sử dụng lệnh Power shell bên dưới để thay đổi thời gian thực hiện (Hết thời gian yêu cầu)
Xin lưu ý rằng tôi đã đưa ra điều này cho trang web mặc định, trước khi sử dụng, vui lòng thay đổi trang web và sau đó thử sử dụng trang này.
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site' -filter "system.web/httpRuntime" -name "executionTimeout" -value "00:01:40"
Hoặc, Bạn có thể sử dụng mã C # dưới đây để làm điều tương tự
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample {
private static void Main() {
using(ServerManager serverManager = new ServerManager()) {
Configuration config = serverManager.GetWebConfiguration("Default Web Site");
ConfigurationSection httpRuntimeSection = config.GetSection("system.web/httpRuntime");
httpRuntimeSection["executionTimeout"] = TimeSpan.Parse("00:01:40");
serverManager.CommitChanges();
}
}
}
Hoặc, bạn có thể sử dụng JavaScript để làm điều này.
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";
var httpRuntimeSection = adminManager.GetAdminSection("system.web/httpRuntime", "MACHINE/WEBROOT/APPHOST/Default Web Site");
httpRuntimeSection.Properties.Item("executionTimeout").Value = "00:01:40";
adminManager.CommitChanges();
Hoặc, bạn có thể sử dụng các lệnh AppCmd.
appcmd.exe set config "Default Web Site" -section:system.web/httpRuntime /executionTimeout:"00:01:40"