2012-06-11 3 views
1

Это первый раз, когда я пишу здесь, поэтому надеюсь, что будет очень ясно! У меня развернутое приложение mvc на iis 7.5. В application_start он начинает выполнять некоторую операцию, например, загружать файлы с фиксированным интервалом. У меня есть доступ к Windows Server 2008 удаленным рабочим столом на виртуальной машине. Проблема заключается в том, что когда я выхожу из этой виртуальной машины, приложение, похоже, останавливается и больше ничего не скачивает, пока я не начну с другого раза приложения.mvc 4 + iis7.5 application stop

Это нормально или у меня есть какая-то проблема в моей конфигурации?

Я хочу, чтобы приложение запустить только один раз и цикл такого рода операций без остановок ..

ответ

0

На мой взгляд, не является хорошей идеей, чтобы осуществить загрузку в Application_Start (Проверьте более there о жизни в осины. сеть). Для этого вам необходимо реализовать какой-то сервис. Не могли бы вы указать свою цель для подробного ответа?

+0

привет, спасибо за ответ. Я хочу, чтобы мое приложение всегда было активным, также когда я выхожу из виртуальной машины. – lusio

+0

Почему вы не думаете, что это хорошая идея? Application_start это должно произойти только один раз для жизненного цикла. Я просто ожидаю, что этот «жизненный цикл» длиннее до приложения-утилизации. – lusio

+0

Что вы делаете в этом методе? – RredCat

1

В настройках пула приложений по умолчанию это нормально (при условии, что у вас низкий трафик на ваш сайт). Пул приложений отключится после установленного периода бездействия и отключит ваш загрузчик. Я считаю, что дефолт составляет 20 минут бездействия.

Вот информация о настройке таймаута. http://technet.microsoft.com/en-us/library/cc771956(v=ws.10).aspx

А вот некоторая информация о настройке IIS для автоматического запуска и всегда работают (в некоторой степени эмулировать среду окна обслуживания) http://weblogs.asp.net/scottgu/archive/2009/09/15/auto-start-asp-net-applications-vs-2010-and-net-4-0-series.aspx

Вот некоторые рисков и способов их устранений, связанные с управлением долго запущенными процессами под asp.net http://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net.aspx

+0

Вы сказали, что нормально использовать 'application_start' для запуска периодического действия загрузки и в то же время, когда вы сказали, что закрытие пула после 20 минут бездействия. На мой взгляд, это плохая идея и Лучшая идея создать для этого отдельный сервис. – RredCat

+0

Нормально, чтобы длительный процесс умирал при настройках по умолчанию на веб-сервере. В общем, вы пытаетесь избежать выполнения длительных процессов на веб-сервере. Однако, если запуск службы Windows или рабочего процесса не является вариантом, эти ссылки позволят ему работать. –

+0

Просто обновил ответ с некоторыми рисками, связанными с длительными процессами в asp.net. –

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