2016-05-24 3 views
2

Работа с загрузкой файлов с некоторой большой полезной нагрузкой (800 МБ), а сервер отключен.Asp.Net Core RC2 таймаут при загрузке

Использование ядра asp.net RC2, mvc6 и сервера Kestrel в Windows (7 и 10) и не может найти, где установить тайм-аут сеанса.

Я схожу с ума, что не могу найти его в Интернете. Как установить таймаут?

ответ

5

Я просто столкнулся с подобной проблемой и выяснил, что, по-видимому, IISExpress (по крайней мере, когда он используется в Visual Studio) имеет по умолчанию 2-минутный тайм-аут соединения, после которого он отвечает 502 плохими шлюзами. Я мог бы решить эту проблему, добавив атрибут «ConnectionTimeOut» с соответствующим значением к элементу «webLimits» в .vs \ Config \ ApplicationHost.config:

<webLimits connectionTimeout="00:10:00" /> 

Вот еще информация на элементе webLimits: https://www.iis.net/configreference/system.applicationhost/weblimits

Обновление после обновления до ASP.NET Core 1.0: в элементе aspNetCore в файле web.config имеется атрибут requestTimeout. Этот атрибут также имеет значение по умолчанию 2 минуты.

<configuration> 
    <system.webServer> 
    <handlers> 
     <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> 
    </handlers> 
    <aspNetCore 
     processPath="%LAUNCHER_PATH%" 
     arguments="%LAUNCHER_ARGS%" 
     forwardWindowsAuthToken="false" 
     stdoutLogEnabled="false" 
     requestTimeout="00:10:00" /> <!-- <== --> 
    </system.webServer> 
</configuration> 

Для более атрибутов aspNetCore см: https://docs.microsoft.com/en-us/aspnet/core/hosting/aspnet-core-module

+0

Другого способа установить это диспетчер IIS -> Редактор конфигурации, вы можете установить это как глобальные настройки или для конкретного сайта (также есть несколько таймаутов для разных вещей, если вам нужно). –