2017-02-14 16 views
0

У меня проблема с моим приложением asp.net Core. Применение через несколько минут прекратилось. И мои работы в кварце теряются. Я читал, что приложение .net core никогда не останавливалось, поэтому почему у меня проблемы с ним? Мой Program.cs включает в себя код для использования Kestrel: ASP.NET Core отключен

public static void Main(string[] args) 
{ 
    var host = new WebHostBuilder() 
     .UseKestrel() 
     .UseContentRoot(Directory.GetCurrentDirectory()) 
     .UseIISIntegration() 
     .UseStartup<Startup>() 
     .Build(); 

    host.Run(); 
} 

я публикую приложение со стандартным развертыванием в Visual Studio.

+0

Вы используете Azure App Service? Или IIS? На меньшее количество информации, чтобы помочь вам. – Tseng

+0

Я использую польский хостинг 'https: // www.webio.pl' Я размещал там стандартные приложения .net, поэтому я думаю, что они используют IIS – donex93

+0

. Кестрел сам не перерабатывает, IIS делает. Независимо от того, является ли это ядром ASP.NET или приложением ASP.NET – Tseng

ответ

2

Служба IIS/Azure App Service (запускает IIS в тоже время) перезагружает ваш пул приложений после некоторого времени простоя и/или когда сервер работает на ресурсах. Утверждение о несоблюдении правил применяется только к Kestrel, обычно на Linux за nginx, поскольку его не рекомендуется использовать Kestrel как IFS (Internet Facing Server).

Пока вы можете установить время простоя и фазу прогрева, нет гарантии, что он не остановится из-за низких ресурсов.

Никогда Запуск фоновых задач внутри ASP.NET/Webapplication. Всегда используйте консольное приложение или службу Windows для повторных задач.

+0

Мне нужно использовать фон-цистерны из-за моего приложения, после получения некоторых данных нужно подождать 4 минуты и сделать что-то. Это всего 4 минуты, но когда я получаю такой запрос: 5 запрос - 1 мб 2 минуты ожидания и следующий 5 запросов. Мой сервер не должен останавливаться, я думаю, что это максимум 5 минут. – donex93

+0

Да, но не используйте для этого ASP.NET Core. Создайте консольное приложение или службу Windows, которая это делает. В веб-приложении вы никогда не должны полагаться на то, что он будет работать непрерывно – Tseng

+1

@Tseng: это то, о чем [hangfire] (http://hangfire.io), это планировщик фоновых задач для asp.net и asp. чистый ядро. Это было какое-то время и отлично работает. Вы должны упомянуть об этом, по крайней мере, вместо того, чтобы вслух рекомендовать услуги Windows в качестве альтернативы. –

 Смежные вопросы

  • Нет связанных вопросов^_^