"Бесшовная" установка веб-сервиса на C# в продакшн — как?
Вводные - есть WCF-сервис, встроенный в Windows-службу. Сервис отдает данные для веб-приложения и для мобильного приложения. В силу некоторых причин, от запуска сервиса до полной его готовности к работе проходит 3-5 минут. Соответственно, на это время веб-приложение и мобильное приложения находятся в "дауне" и не отдают данные пользователям.
Вопрос - есть ли какие-то способы безболезненно обновлять сервис, чтобы не было простоя во время перезапуска?
Александр Юдаков, уверен, что рекомендации от этого никак не будут зависить, но все равно отвечу - формируется кеш данных. Этот пункт из работы сервиса убирать нельзя.
Если в двух словах, то ввести дополнительный слой абстракции - шину. Клиент делает запрос к шине, которая в свою очередь опрашивает инстансы доступных WCF-сервисов. Пока инстанс WCF1 обновляется, шина перенаправляет запрос на резервный WCF2. После деплоя обновления на WCF1 - переключаемся уже на обновленный сервис.