Убедитесь, что сайт dot.net всегда работает - PullRequest
4 голосов
/ 19 декабря 2010

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

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

Есть ли способ гарантировать, что он запустится снова после перезагрузки, перезапуска сервера или подобного?

В настоящее время он запускает фоновый поток в global.asax Application_Start, и затем этот поток отвечает за поддержание веб-приложения монитора, опрашивая его, а также другие сайты.

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

Я немного читал о модулях IIS Warm Up, однако сайт размещен на сервере, на который я не влияю, так что это невозможно.

Сайт построен с использованием ASP.Net 4.0 и работает на сервере IIS 7.5.

Надеюсь, у вас есть идея: -)

Ответы [ 4 ]

2 голосов
/ 19 декабря 2010

Я использую Робот безотказной работы , чтобы гарантировать, что мое приложение всегда запускается.Прелесть этой системы в том, что она запрашивает только заголовки страницы на вашем веб-сайте и каждые 5 минут получает коды состояния, такие как «200-ok», «404-not found» и т. Д.Это означает, что робот безотказной работы не добавляет шума в Google Analytics, так как страница никогда не запрашивается.

Кажется, что работает для меня как мечта, и БЕСПЛАТНО для 50 сайтов!

2 голосов
/ 19 декабря 2010

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

1 голос
/ 19 декабря 2010

Лучше сделать это в виде службы Windows или запланированного консольного приложения. Если вы хотите сохранить его в качестве веб-приложения, вы можете попросить сторонние отправлять запросы на ваше приложение, чтобы оно работало. На моем текущем клиенте это делается с http://www.pingdom.com/, но есть и другие альтернативы.

1 голос
/ 19 декабря 2010

Я согласен с tvanfosson, но если вам это нужно прямо сейчас, вы все равно можете настроить пул приложений, чтобы он не перерабатывался.

http://technet.microsoft.com/en-us/library/cc753179(WS.10).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...