IIS 7.0'da istek zaman aşımı nasıl artırılır? Aynı şey, IIS 6.0'daki ASP yapılandırma ayarlarındaki uygulama sekmesi altında yapılır. IIS 7.0'da asp.net yapılandırma bölümünü bulamıyorum
IIS 7.0'da istek zaman aşımı nasıl artırılır? Aynı şey, IIS 6.0'daki ASP yapılandırma ayarlarındaki uygulama sekmesi altında yapılır. IIS 7.0'da asp.net yapılandırma bölümünü bulamıyorum
Yanıtlar:
Bunu Web Config'inize ekleyin
<system.web>
<httpRuntime executionTimeout="180" />
</system.web>
https://msdn.microsoft.com/en-us/library/e1f13641(v=vs.85).aspx
İsteğe bağlı TimeSpan özelliği.
ASP.NET tarafından otomatik olarak kapatılmadan önce bir isteğin yürütülmesine izin verilen maksimum saniye sayısını belirtir.
Bu zaman aşımı yalnızca derleme öğesindeki hata ayıklama özniteliği Yanlış ise geçerlidir. Hata ayıklama sırasında uygulamanın kapatılmasını önlemeye yardımcı olması için bu zaman aşımını büyük bir değere ayarlamayın.
Varsayılan "00:01:50" dir (110 saniye).
IIS Yöneticisi'nde siteyi sağ tıklatın ve Web Sitesini Yönet -> Gelişmiş Ayarlar'a gidin . Bağlantı Sınırları seçeneği altında , Bağlantı Zaman Aşımı'nı görmelisiniz .
İstek zaman aşımını artırmak için bunu web.config dosyasına ekleyin
<system.web>
<httpRuntime executionTimeout="180" />
</system.web>
ve belirli bir sayfa için bunu ekleyin
<location path="somefile.aspx">
<system.web>
<httpRuntime executionTimeout="180"/>
</system.web>
</location>
.NET 1.x için varsayılan değer 90 saniyedir.
.NET 2.0 ve sonraki sürümler için varsayılan 110 saniye.
IIS> = 7 olarak, <webLimits>
bölüm yerini aldı ConnectionTimeout
, HeaderWaitTimeout
, MaxGlobalBandwidth
ve MinFileBytesPerSec
6 metatabanı ayarlarını IIS.
Örnek Yapılandırma:
<configuration>
<system.applicationHost>
<webLimits connectionTimeout="00:01:00"
dynamicIdleThreshold="150"
headerWaitTimeout="00:00:30"
minBytesPerSecond="500"
/>
</system.applicationHost>
</configuration>
Başvuru için: IIS'deki bu ayarlarla ilgili daha fazla bilgiyi burada bulabilirsiniz . Ayrıca, bu bölümü IIS yöneticisinin "yapılandırma düzenleyicisi" aracılığıyla web.config dosyasına ekleyemedim, ancak ekledikten ve yapılandırmayı aradığımda görünüyordu.
ConnectionTimeout
, httpRuntime'ın yerine geçer executionTimeout
.
Aşağıda, sorununuzu çözmek için gerekli adımlar sunulmaktadır.
Sorunun ASP ile ilgili olduğunu biliyorum ama belki birileri bu cevabı faydalı bulabilir.
IIS 7.5'in arkasında bir sunucunuz varsa (örn. Tomcat). Benim durumumda Tomcat sunucusu yapılandırılmış bir sunucu grubum var. Bu durumda IIS Yöneticisi'ni kullanarak zaman aşımını değiştirebilirsiniz:
ya da cofig dosyasında değiştirebilirsiniz:
Misal:
<webFarm name="${SERVER_NAME}" enabled="true">
<server address="${SERVER_ADDRESS}" enabled="true">
<applicationRequestRouting httpPort="${SERVER_PORT}" />
</server>
<applicationRequestRouting>
<protocol timeout="${TIME}" />
</applicationRequestRouting>
</webFarm>
$ {TIME} içindedir mm: HH ss formatında (90 saniye olarak ayarlayın isterseniz öyleyse koymak orada 00:01:30)
Tomcat (ve muhtemelen diğer sunucu uygulaması kapsayıcıları) durumunda, % TOMCAT_DIR% \ conf \ server.xml'deki zaman aşımını değiştirmeyi hatırlamanız gerekir ( Bağlayıcı etiketinde connectionTimeout özniteliğini arayın ve milisaniye cinsinden belirtildiğini unutmayın )
Yürütme zaman aşımını değiştirmek için aşağıdaki Güç kabuğu komutunu kullanın (İstek Zaman Aşımı)
Bunu varsayılan web sitesi için verdiğimi lütfen unutmayın, bunları kullanmadan önce lütfen siteyi değiştirin ve sonra bunu kullanmayı deneyin.
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site' -filter "system.web/httpRuntime" -name "executionTimeout" -value "00:01:40"
Veya aynı şeyi yapmak için aşağıdaki C # kodunu kullanabilirsiniz
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();
}
}
}
Veya bunu yapmak için JavaScript'i kullanabilirsiniz.
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();
Veya AppCmd komutlarını kullanabilirsiniz.
appcmd.exe set config "Default Web Site" -section:system.web/httpRuntime /executionTimeout:"00:01:40"