2011-01-07 2 views
2

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

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

  • IIS7

    • вставного REST Service Хост

      • Общих ресурсы (хранилища, QA)

      • Service A - брошено в папке в производстве, обеспечивает новые методы REST

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

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

+0

Я думаю, что это хороший вопрос. HotSwap, и более полно, JRebel делает это в среде Java. Java также компилируется.Мне интересно узнать, были ли какие-либо достижения в этой области для .NET? – Nathan

ответ

1

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

+0

Спасибо! Я ценю другие ответы, но всегда лучше получить ответ на вопрос, который очень ценится. –

+0

Я не думаю, что это ответ на вопрос. Вопрос касался IIS, WCF, REST. В собственном хостинге вы потеряете все функции и инфраструктуру IIS. Что еще хуже, вы теряете AspNetCompatibility, которая действительно полезна (например, кеширование) при разработке служб REST в WCF 4. –

+0

@Ladislav На самом деле вопрос не касался IIS. IIS был просто предложен как одно из возможных решений. IIS приносит столько проблем, сколько приносит решения. Конкретный сценарий определяет, действительно ли IIS стоит того. –

-1

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

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

+0

Это круто, но поскольку моя цель заключается в создании/обновлении сервисов REST, я надеюсь на структуру, которая имеет тенденцию к этому. Поэтому, если WAS/WCF или что-то позволяет вам «составлять» службу REST из многих отдельных и обновляемых элементов, это было бы хорошим решением. –

+0

Здравствуйте, почему имеет значение, является ли ваш сервис REST или нет? Независимо от вашего кода, сервиса или веб-сайта, разверните его в отдельный каталог на сервере, затем укажите IIS в новое место. Он не затрагивает существующие запросы, но все новые запросы теперь перейдут в новое место. –

+0

Если бы я хотел создать какой-либо http-сервис, я бы, конечно, хотел получить более общий ответ, но поскольку моя цель - это, в частности, служба REST, руководство от кого-то, у кого были эти конкретные знания, было бы более полезным. –

-1

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

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

Edit:

На основе замечаний я добавляю некоторые futher объяснения.

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

+0

Я ценю информацию, я хочу компиляцию, только отдельных сборок, которые затем можно отбросить в папку и сразу же начать отправлять запросы без повторной переработки домена для других сборок в той же папке. –

+0

Я думаю, что «COM +» раньше был перегруженной попыткой, сервисы как компоненты, которые можно обновлять индивидуально и без прерывания существующих запросов. –

 Смежные вопросы

  • Нет связанных вопросов^_^