Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

IIS WCF Service Hosting Vs Windows Service

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

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

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

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

Обновлять: Эта статья MSDN затрагивает самостоятельное управление и обсуждает некоторые моменты, которые следует рассмотреть:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top