Технология .NET 4.0 обеспечивает модульную удерживающую службу по летам по летам в полете (Hotswap)?

StackOverflow https://stackoverflow.com/questions/4626571

Вопрос

Итак, сейчас мечтаю много лет, но надежды источники вечника. Существует ли рамка / услуга (WCF / WAS / MVC / ETC), которая позволяет добавлять / обновлять услуги с минимальным воздействием на текущие запросы или услуги «брата».

Мечта выглядит что-то подобное:

  • IIS7.

    • Host Plugbable LOD SERVICE HOST

      • Общие ресурсы (репозитории, QA)

      • Сервис A - упал в папку в производстве, обеспечивает новые методы отдыха

      • Сервис B - Обновлен «в полете», чтобы исправить ошибку, минимальное прерывание запросов

Я думаю, что ответ может вовлечь был или, возможно, AppFabric (мечта не осторожна), но поскольку мне никогда не удалось найти простой способ сделать его работать, я приветствую ваш вклад о том, как наилучшим образом достичь того, что я думаю, что наши товарищи PHP просто делать".

Это было полезно?

Решение

MEF + Самоустановленный WCF с webhttpbinding. Или МЭФ с httplistener. Новый стек WCF HTTP в http://wcf.codeplex.com. сделает это намного проще в будущем

Другие советы

Это не очень подходящий вопрос - это вопрос HTTP-сервера.

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

Это странный вопрос. Сначала мы находимся в .NET World, где собраны сборки - это имеет большое влияние на другие вещи.

Таким образом, да, вы можете делать то, что вы хотите, если вы начнете программировать, как PHP-программисты. Откройте свой файл .svc и напишите весь ваш сервис напрямую к этому файлу. Это также известно как встроенное кодирование. Вы сможете использовать типы из собраний, развернутых в папку GAC и BIN вашего сайта. Просто копирование файла .svc в каталог веб-приложения сделает вашу услугу. Модификация также будет легкой. Вы должны использовать .NET 4.0, и вам не понадобится никакой изменения конфигурации при «развертывании» новой службы.

Редактировать:

Основываясь на комментариях, я добавляю некоторые дальше объяснения.

IIS и все, что зависит от IIS (было, AppFabric), всегда перерабатываю домен, когда добавляется новая сборка. Я думаю, что причина находится прямо в .NET Core - Appdomain. Загрузка и разгрузочные сборки динамически требуются новый домен.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top