WCF - Почему вы хотите создать несколько конечных точек для службы? - PullRequest
2 голосов
/ 25 ноября 2010

Я очень новичок в WCF. Я создаю прототип приложения для изучения WCF. У меня есть следующий код для создания узла службы, который работает нормально:

serviceHost = new ServiceHost(typeof(ServiceMethods), new Uri("http://localhost:8888/MyService"));
serviceHost.AddServiceEndpoint(typeof(IB.Entities.ServiceInterfaces.ILocation), WcfConfiguration.GenerateBinding(Enumerations.WcfBindingType.HTTP), "");

Мой вопрос такой. Поскольку кажется, что вы можете добавить несколько конечных точек для хоста службы, при каких обстоятельствах / ситуациях вы бы хотели это сделать? В чем будет преимущество (преимущества)?

Ответы [ 2 ]

4 голосов
/ 25 ноября 2010

Допустим, ваша служба WCF содержит BLL (бизнес-правила, проверка данных, соединения с базой данных и т. Д.), И у вас есть клиенты Windows, написанные на C #, для них лучше всего создать конечную точку, которая использует привязку TCP (более быстрая сериализация, работаеттолько между приложениями .NET), тогда у вас есть веб-сайт, написанный на php или java, для того, чтобы этот сайт вызывал вашу службу, вам потребуется конечная точка HTTP (предоставляемая SOAP - как базовая веб-служба).

1 голос
/ 25 ноября 2010
  1. Возможно, вы захотите опубликовать метаданные для разработки другими разработчиками, поэтому добавьте конечную точку MEX.
  2. Возможно, вы захотите поддерживать несколько протоколов, например, NetTCP для клиентов .NET и WSHTTP для клиентов Java
  3. Вы также можете добавить конечную точку basicHTTP для поддержки предыдущих версий.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...