Bagaimana cara meningkatkan batas waktu permintaan di IIS 7.0? Hal yang sama dilakukan di bawah tab aplikasi di settngs konfigurasi ASP di IIS 6.0. Saya tidak dapat menemukan bagian konfigurasi asp.net di IIS 7.0
Bagaimana cara meningkatkan batas waktu permintaan di IIS 7.0? Hal yang sama dilakukan di bawah tab aplikasi di settngs konfigurasi ASP di IIS 6.0. Saya tidak dapat menemukan bagian konfigurasi asp.net di IIS 7.0
Jawaban:
Tambahkan ini ke Konfigurasi Web Anda
<system.web>
<httpRuntime executionTimeout="180" />
</system.web>
https://msdn.microsoft.com/en-us/library/e1f13641(v=vs.85).aspx
Atribut TimeSpan opsional.
Menentukan jumlah detik maksimum yang diizinkan untuk dijalankan oleh suatu permintaan sebelum secara otomatis ditutup oleh ASP.NET.
Batas waktu ini hanya berlaku jika atribut debug di elemen kompilasi adalah False. Untuk membantu mencegah mematikan aplikasi saat Anda sedang debug, jangan set time-out ini ke nilai yang besar.
Standarnya adalah "00:01:50" (110 detik).
Di IIS Manager, klik kanan pada situs dan pergi ke Kelola Situs Web -> Pengaturan Lanjut . Di bawah opsi Batas Koneksi , Anda akan melihat Batas Waktu Koneksi .
Untuk Meningkatkan batas waktu permintaan, tambahkan ini ke web.config
<system.web>
<httpRuntime executionTimeout="180" />
</system.web>
dan untuk halaman tertentu tambahkan ini
<location path="somefile.aspx">
<system.web>
<httpRuntime executionTimeout="180"/>
</system.web>
</location>
Standarnya adalah 90 detik untuk .NET 1.x.
Default 110 detik untuk .NET 2.0 dan yang lebih baru.
Dalam IIS> = 7, sebuah <webLimits>
bagian telah diganti ConnectionTimeout
, HeaderWaitTimeout
, MaxGlobalBandwidth
, dan MinFileBytesPerSec
IIS 6 pengaturan metabase.
Konfigurasi Contoh:
<configuration>
<system.applicationHost>
<webLimits connectionTimeout="00:01:00"
dynamicIdleThreshold="150"
headerWaitTimeout="00:00:30"
minBytesPerSecond="500"
/>
</system.applicationHost>
</configuration>
Untuk referensi: informasi lebih lanjut mengenai pengaturan ini di IIS dapat ditemukan di sini . Juga, saya tidak dapat menambahkan bagian ini ke web.config melalui "editor konfigurasi" manajer IIS, meskipun itu muncul setelah saya menambahkannya dan mencari konfigurasi.
ConnectionTimeout
, bukan milik httpRuntime executionTimeout
.
Di bawah ini disediakan langkah-langkah untuk memperbaiki masalah Anda.
Saya tahu pertanyaannya adalah tentang ASP tetapi mungkin seseorang akan menemukan jawaban ini bermanfaat.
Jika Anda memiliki server di belakang IIS 7.5 (mis. Tomcat). Dalam kasus saya, saya memiliki server farm dengan server Tomcat yang dikonfigurasi. Jika demikian, Anda dapat mengubah batas waktu menggunakan Manajer IIS:
atau Anda dapat mengubahnya di file cofig:
Contoh:
<webFarm name="${SERVER_NAME}" enabled="true">
<server address="${SERVER_ADDRESS}" enabled="true">
<applicationRequestRouting httpPort="${SERVER_PORT}" />
</server>
<applicationRequestRouting>
<protocol timeout="${TIME}" />
</applicationRequestRouting>
</webFarm>
The $ {WAKTU} adalah di HH: ss: mm Format (jadi jika Anda ingin mengaturnya untuk 90 detik kemudian diletakkan di sana 00:01:30)
Dalam hal Tomcat (dan mungkin wadah servlet lainnya) Anda harus ingat untuk mengubah batas waktu di % TOMCAT_DIR% \ conf \ server.xml (cukup cari atribut connectionTimeout di tag Connector , dan ingat bahwa itu ditentukan dalam milidetik )
Gunakan perintah Power shell di bawah ini untuk mengubah batas waktu eksekusi (Request Timeout)
Harap dicatat bahwa saya telah memberikan ini untuk situs web standar, sebelum menggunakan ini silakan ubah situs dan kemudian coba gunakan ini.
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site' -filter "system.web/httpRuntime" -name "executionTimeout" -value "00:01:40"
Atau, Anda dapat menggunakan kode C # di bawah ini untuk melakukan hal yang sama
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();
}
}
}
Atau, Anda dapat menggunakan JavaScript untuk melakukan ini.
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();
Atau, Anda dapat menggunakan perintah AppCmd.
appcmd.exe set config "Default Web Site" -section:system.web/httpRuntime /executionTimeout:"00:01:40"