Почему / как перенести службу WCF с собственным размещением на IIS7? - PullRequest
3 голосов
/ 22 марта 2011

Я написал несколько сервисов WCF, которые для целей разработки и отладки я запускал как самостоятельный. Теперь у меня есть веб-сервер, и я думаю, есть ли какая-либо причина для изменения моих служб для работы под IIS 7 ... и если да, то как? ..

Ответы [ 4 ]

4 голосов
/ 22 марта 2011

В MSDN есть статья, в которой рассматриваются различные WCF хостинги моделей. Вот что он говорит о Самостоятельном Хостинге:

Ниже перечислены преимущества самостоятельного хостинга:

  • Прост в использовании: с помощью всего лишь нескольких строк кода ваша служба работает.
  • Гибкость: вы можете легко управлять временем жизни ваших сервисов с помощью методов Open () и Close () ServiceHost.
  • Легко отлаживать: отладка служб WCF, размещенных в автономной среде, обеспечивает привычный способ отладки без необходимости подключения к отдельным приложениям, которые активируют вашу службу.
  • Простота развертывания. Как правило, развертывание простых приложений Windows так же просто, как и xcopy. Вам не нужны сложные сценарии развертывания на фермах серверов и т. П. Для развертывания простого приложения Windows, которое служит в качестве ServiceHost WCF.
  • Поддерживает все привязки и транспорты. Самостоятельный хостинг не ограничивает вас готовыми привязками и транспортирует. В Windows XP и Windows Server 2003 IIS ограничивает вас только HTTP.

Ниже перечислены недостатки самостоятельного хостинга:

  • Ограниченная доступность: услуга доступна только во время работы приложения.
  • Ограниченные возможности. Самостоятельно размещаемые приложения имеют ограниченную поддержку для сценариев высокой доступности, простоты управления, надежности, восстановления, управления версиями и развертывания. По крайней мере, готовый WCF не предоставляет их, поэтому в случае самостоятельного размещения вы должны реализовать эти функции самостоятельно; Например, IIS поставляется с некоторыми из этих функций по умолчанию.
1 голос
/ 31 декабря 2013

Хорошее предложение. Вот точные шаги, которые я использовал для преобразования собственного размещения в размещение IIS:

Шаг 1. Создание приложения службы WCF для .NET Framework 4
Шаг 2. Добавьте ссылку на библиотеки WCF.
Шаг 3: Щелкните правой кнопкой мыши Service1.scv (автоматически сгенерированный) и выберите «Просмотреть разметку». Должно выглядеть так: code <% @ ServiceHost Language = "C #" Debug = "true" Service = "WcfService4.Service1" CodeBehind = " Service1.svc.cs "%> код.
Шаг 4: замените «... Service1» на сервисы из DLL. Удалите тег CodeBehind = "Service1.svc.cs".
Шаг 5: Щелкните правой кнопкой мыши решение, опубликуйте на своем сервере / странице. Включить «Пометить как IIS ...».
Шаг 6: откройте ваш сервер / вашу страницу / Service1.scv

1 голос
/ 22 марта 2011

Я хотел бы рассмотреть возможность создания нового проекта с использованием шаблона проекта «Приложение службы WCF» VS2010.Вы могли бы даже просто сослаться на вашу оригинальную сборку, я полагаю.Дело в том, что если вы используете этот шаблон, VS2010 показывает новую панель инструментов, которая позволяет публиковать на сервере IIS, который выполняет всю «тяжелую работу» по созданию правильных файлов конфигурации и папок.

1 голос
/ 22 марта 2011

Если это не сломано:)

Серьезно: не делайте WCF net.tcp в IIS.Избавить вас от многих головных болей.HTTP WCF должен быть в порядке.

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