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

В чем разница между использованием одной конечной точки или нескольких конечных точек в службе WCF? Есть ли моменты, когда вы хотели бы использовать один поверх другого?

В моей ситуации у нас есть две конечные точки: одна для авторизации и одна для данных. После входа в систему через конечную точку аутентификации вы можете получить доступ к конечной точке данных и получить доступ ко всем данным.

Есть ли причина разделять конечную точку данных на несколько конечных точек? Контракт конечной точки данных в настоящее время состоит из нескольких классов .cs, которые являются частью одного большого частичного класса.

Ответы [ 2 ]

8 голосов
/ 17 мая 2011

Если ваша служба работает с разнообразной группой потенциальных клиентов, несколько конечных точек могут иметь большой смысл:

  • одна конечная точка, использующая привязку net.tcp с учетными данными Windows, может использоваться для внутренних клиентов компании, которые поступают из-за брандмауэра и проходят проверку подлинности в Active Directory вашей компании; это связывание быстрое, производительное, безопасность относительно проста в настройке с интеграцией AD

  • вторая конечная точка может использовать wsHttpBinding и обеспечивать безопасность на транспортном уровне (https://) - поэтому определенные клиенты могут вызывать вашу службу по защищенной ссылке

  • третья конечная точка может использовать незащищенную basicHttpBinding для максимальной обратной совместимости - например, все виды клиентов (также многие клиенты, не являющиеся .NET, такие как Ruby, PHP, другие языки сценариев и т. д.) могут подключаться к этой конечной точке; возможно, вашей незащищенной конечной точке не будет разрешено вызывать все методы, или она может иметь другие ограничения (например, обрабатываться как последний приоритетный вызов, только если это позволяет емкость)

  • четвертая конечная точка может предоставлять вашу же службу через webHttpBinding в спокойной форме, так что к ней может подключиться еще больше устройств, таких как телефоны и т. Д.

Наличие и предоставление нескольких конечных точек может значительно облегчить доступ к вашему сервису, и вы сможете воспользоваться «наилучшей возможной» привязкой для каждого сценария.

0 голосов
/ 17 мая 2011

Вы будете использовать разные конечные точки для логической группировки по функциям или чтобы вы могли применять разные уровни безопасности в привязке для каждой конечной точки.

...