Как увеличить тайм-аут запроса в IIS?

Как увеличить тайм-аут запроса в IIS 7.0? То же самое делается на вкладке приложения в настройке конфигурации ASP в IIS 6.0. Я не могу найти раздел конфигурации asp.net в IIS 7.0

Ответ 1

Добавьте это в свою веб-конфигурацию

<system.web>
    <httpRuntime executionTimeout="180" />
</system.web>

https://msdn.microsoft.com/en-us/library/e1f13641(v=vs.85).aspx

Дополнительный атрибут TimeSpan.

Задает максимальное количество секунд, на которые разрешен запрос выполнить перед автоматическим отключением ASP.NET.

Этот тайм-аут применяется только в том случае, если атрибут debug в компиляции элемент False. Чтобы предотвратить закрытие приложения пока вы отлаживаете, не устанавливайте этот тайм-аут на большое значение.

Значение по умолчанию - "00:01:50" (110 секунд).

Ответ 2

В диспетчере IIS щелкните правой кнопкой мыши сайт и выберите " Управление веб- сайтом" → " Дополнительные параметры". Под опцией Connection Limits вы должны увидеть Тайм-аут соединения.

Ответ 3

Чтобы увеличить время запроса запроса, добавьте это в web.config

<system.web>
    <httpRuntime executionTimeout="180" />
</system.web>

и для конкретной страницы добавьте это

<location path="somefile.aspx">
    <system.web>
        <httpRuntime executionTimeout="180"/>
    </system.web>
</location>

Значение по умолчанию составляет 90 секунд для .NET 1.x.

По умолчанию 110 секунд для .NET 2.0 и более поздних версий.

Ответ 4

В IIS >= 7 раздел <webLimits> заменил параметры метабазы ​​ConnectionTimeout, HeaderWaitTimeout, MaxGlobalBandwidth и MinFileBytesPerSec IIS 6.

Пример конфигурации:

<configuration>
   <system.applicationHost>
      <webLimits connectionTimeout="00:01:00"
         dynamicIdleThreshold="150"
         headerWaitTimeout="00:00:30"
         minBytesPerSecond="500"
      />
   </system.applicationHost>
</configuration>

Для справки: дополнительную информацию об этих настройках в IIS можно найти здесь. Кроме того, мне не удалось добавить этот раздел в web.config через редактор конфигурации диспетчера IIS, хотя он появился, как только я добавил его и выполнил поиск конфигурации.

Ответ 5

Я знаю, что вопрос касался ASP, но, возможно, кто-нибудь найдет этот ответ полезным.

Если у вас есть сервер за IIS 7.5 (например, Tomcat). В моем случае у меня есть серверная ферма с настроенным сервером Tomcat. В таком случае вы можете изменить таймаут с помощью диспетчера IIS:

  • перейдите в Фермы серверов {Имя сервера} Прокси
  • измените значение в поле ввода Тайм-аут
  • нажмите Применить (верхний правый угол)

или вы можете изменить его в файле cofig:

  • открыть% WinDir%\System32\Inetsrv\Config\applicationHost.config
  • настройте конфигурацию сервера webFarm таким образом, чтобы она была следующей:

Пример:

<webFarm name="${SERVER_NAME}" enabled="true"> 
  <server address="${SERVER_ADDRESS}" enabled="true">
    <applicationRequestRouting httpPort="${SERVER_PORT}" />
  </server>
  <applicationRequestRouting>
    <protocol timeout="${TIME}" />
  </applicationRequestRouting>
</webFarm>

${ВРЕМЯ} находится в формате HH: mm: ss (поэтому, если вы хотите установить его на 90 секунд, тогда поставьте там 00:01:30)

В случае Tomcat (и, возможно, других контейнеров сервлетов) вы должны помнить об изменении тайм-аута в % TOMCAT_DIR%\conf\server.xml (просто выполните поиск connectionTimeout в теге Коннектор и помните, что он указан в миллисекундах)

Ответ 6

Ниже приведены шаги, чтобы решить вашу проблему.

  1. Откройте свой IIS
  2. Перейти к " Сайты " вариант.
  3. Мышь правой кнопкой мыши.
  4. Затем откройте свойство " Управление веб-сайтом ".
  5. Затем нажмите "Дополнительные настройки ".
  6. Разверните раздел " Пределы подключения ", здесь вы можете установить " время подключения "

enter image description here

Ответ 7

Используйте следующую команду Power shell, чтобы изменить тайм-аут выполнения (Тайм-аут запроса)

Обратите внимание, что я дал это для веб-сайта по умолчанию, прежде чем использовать эти, пожалуйста, измените сайт, а затем попытайтесь использовать его.

 Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site'  -filter "system.web/httpRuntime" -name "executionTimeout" -value "00:01:40"

Или, вы можете использовать приведенный ниже код С# для того, чтобы сделать то же самое

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();
        }
    }
}

Или вы можете использовать JavaScript для этого.

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();

Или вы можете использовать команды AppCmd.

appcmd.exe set config "Default Web Site" -section:system.web/httpRuntime /executionTimeout:"00:01:40"