Что это значит для тех из нас, кто писал Windows Services для поддержки наших веб-приложений?
Я думаю, что это ключевой сценарий, когда вы можете перейти от службы Windows к использованию постоянно работающего веб-сайта.
Должны ли мы принять эту модель?
Стандартный ответ на разработку: Зависит;)
Какие подводные камни?
Одна проблема, которую я вижу, это зависимость IIS. Если вам нужен сервис для запуска на компьютере пользователя, я не буду чувствовать, что ему будет предложено установить IIS только для запуска моего сервиса. Здесь я думаю, что традиционная модель работает лучше.
Мониторинг и отслеживание являются основными проблемами, но, как вы также заметили, это решается AppFabric. Это даже лучше, чем то, что вы получаете от службы Windows. Однако вы добавили еще одну зависимость, которая также потребует .NET 4.0 и относительно новую версию Windows. Я также могу ошибаться, но, насколько я понимаю, AppFabric не поддерживается в производственных системах на клиентских ОС. Что может привести к дополнительным головным болям.
Вы также потеряете функциональность паузы в модели непрерывного веб-сайта.
Наконец, IIS уничтожает неактивные пулы приложений - не единственный способ перезапуска пула приложений. Например, редактирование файла web.config вызывает его, что может не быть идеальной ситуацией.
Самым полезным является простота развертывания.
Я также думаю, что разработка намного проще - в прошлом у меня было консольное приложение и служба Windows, поэтому я мог разрабатывать / тестировать на своем компьютере с помощью приложения консоли, а затем менять его на службу Windows, когда она отключалась. Теперь dev / test НАМНОГО проще.
Обязательно прочитайте: Смерть службам Windows ... Long Live AppFabric!