Лучшие практики для тестирования службы netTcp WCF в среде разработки - PullRequest
2 голосов
/ 12 июля 2011

У меня есть netTcp услуга WCF.Эта служба будет размещаться на IIS 7.5 во время производства.

Но необходимо ли устанавливать IIS 7.5 также на компьютере разработчика для отладки службы?Я не могу использовать встроенный сервер Cassini или IIS Express, потому что оба не поддерживают netTcp.У меня нет хорошего ощущения при установке полноценного веб-сервера только для отладки, поэтому я хочу знать, есть ли другие возможности.

Как вы отлаживаете netTcp службы WCF?Конечно, есть несколько вариантов:

  • Установить IIS 7.5
  • Самостоятельно разместить приложение WCF и перенести его на IIS 7.5 позже
  • Что-то вроде WcfSvcHost.exe
  • ...

Примечание для WcfSvcHost.exe: Я не могу найти такой инструмент в Visual Web Developer Express2010 .Возможно ли использовать этот инструмент в Visual Web Developer Express 2010?Если предлагается вариант WcfSvcHost.exe, было бы неплохо услышать решение этой проблемы.

Каковы преимущества / недостатки каждого варианта в следующих аспектах?

  • Насколько близко к реальности?
  • Установка
  • Безопасность (Является ли установка полноценного веб-сервера хорошей идеей?)

Спасибо!

1 Ответ

2 голосов
/ 12 июля 2011

Когда я занимаюсь разработкой WCF, я всегда отделяю свой сервис от реализации хостинга.Это дает вам больший уровень гибкости, если ваше решение о хостинге изменится в будущем (например, IIS не был очень хорошим выбором хостинговой платформы, когда WCF впервые появился по разным причинам, но сейчас это довольно предпочтительный метод).У меня обычно есть консольное приложение DebugHost в качестве одного из проектов в моем решении, где я сам размещаю свои сервисы во время разработки.Все, что делает этот проект, - это хост любой службы, которую я отлаживаю;Сам фактический сервис находится в его собственном проекте библиотеки классов, и он не зависит от того, как он будет размещен, будь то в разработке или производстве.

Конечно, это означает, что ваша среда разработки не будет точно соответствовать производственной, поэтому я бы порекомендовал использовать какой-либо тип промежуточной среды перед тем, как вы начнете работать, чтобы убедиться, что ваша конфигурация работает с IIS, прежде чем вы начнете работать.

...