WCF хостинг для среднего уровня - PullRequest
3 голосов
/ 16 марта 2011

Мы разрабатываем новый средний уровень для нашего пакета приложений.Мы собираемся переписать нашу бизнес-логику и слои доступа к данным в C #, так как они в настоящее время находятся в VB6 и публикуются через COM +.

Мы пытаемся решить, как именно сделать этот средний уровень доступным дляразные клиенты.Мы будем использовать WCF для этого, и мы решили, что будем использовать различные привязки, чтобы удовлетворить потребности каждого клиента, включая netTcpBinding для нашего настольного приложения, net.Tcp и / или именованный канал.привязка для интернет-приложения, работающего локально или на компьютере в сети, и некоторая разновидность HTTP-привязки для внешнего веб-API.

Мы пытаемся решить, как разместить наш сервис.Кажется, что в большинстве мест, где я говорю, что IIS - это путь, но кажется, что вы получите лучшую производительность из части BLL / DAL, если бы она была под Windows Service, и @marc_s здесь, на SO, кажетсярекомендовать сам хостинг чаще, чем нет.Итак, размещаем ли мы его в IIS, в сервисе или в каком-то гибридном варианте, где, возможно, тонкий сервис размещен в IIS для конечной точки HTTP и использует основной сервис через net.tcp или привязку именованного канала?Разделение позволяет учесть физическое разделение, если это необходимо, а также допускает возможность отключения IIS, что все равно оставит службу работающей для тех клиентов, которые получают доступ к опубликованным конечным точкам.

ТакжеА как насчет масштабируемости и надежности?Есть ли большая разница между двумя средами хостинга таким образом?

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

1 Ответ

3 голосов
/ 16 марта 2011

Чтение этого ответа может показаться, что сам хостинг является предпочтением marc_s, основанным на принятии накладных расходов при самостоятельном кодировании хоста:

Хост службы IIS WCF против службы Windows

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

Попробуйте IIS и, если это действительно так плохо,создать свой собственный хостЭто не совсем дорого, чтобы запустить его в IIS - и есть несколько советов по настройке в Интернете.

Обновление: опубликовал это сразу после комментариев marc_s.Я согласен в принципе, но сам хостинг может оказаться бесполезным.IIS в какой-то степени из коробки и имеет свои ограничения - ограничения, с которыми вы никогда не столкнетесь.

Я не уверен в актуальности этого отзыва, но мы используем IIS для размещения объектов .NET Remoting для нашихприложение.В настоящее время он проходит довольно значительный процесс сбора метрик производительности, готовясь к увеличению почти в 10 раз из-за нового клиента.Для нас IIS не был признан чем-то, о чем стоит беспокоиться.Единственным камнем преткновения для людей является то, что он работает по протоколу HTTP (более старая версия IIS для нас), поэтому он немного более насыщен сообщениями, чем, возможно, TCP.

Обновление: этоВ статье MSDN затрагиваются вопросы самостоятельного хостинга и рассматриваются некоторые моменты, которые следует учитывать:

http://msdn.microsoft.com/en-us/library/bb332338.aspx#msdnwcfhc_topic3

...