Какая технология .NET 4.0 обеспечивает модульный хостинг REST с сервисом «горячая замена»? - PullRequest
2 голосов
/ 07 января 2011

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

Сон выглядит примерно так:

  • IIS7

    • Подключаемый хост службы REST

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

      • Служба A - добавлена ​​в производственную папку, предоставляет новые методы REST

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

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

Ответы [ 3 ]

1 голос
/ 07 января 2011

MEF + собственный WCF с WebHttpBinding.Или MEF с HttpListener.Новый стек WCF Http на http://wcf.codeplex.com сделает это намного проще в будущем

0 голосов
/ 07 января 2011

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

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

Edit:

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

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

0 голосов
/ 07 января 2011

Это на самом деле не вопрос REST - это вопрос HTTP-сервера.

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

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