2017-02-15 12 views
0

Я пытаюсь себя хозяином две службы WCF со следующими конвенциями URL:Как я могу провести 2 WCF самодостаточно услуг с использованием различных имен хостов на одном компьютере (с помощью заголовка узла)

https://service.servicehost.com/service

https://service-branch.servicehost.com/service

И я получаю эту ошибку:

Service cannot be started. System.ServiceModel.AddressAlreadyInUseException: HTTP could not register URL https://+:443/service/ . Another application has already registered this URL with HTTP.SYS. --->

Я понимаю ошибку, и я знаю, как ее изменить, изменив суффикс службы, но кажется, что сам хост WCF не поддерживает функцию заголовка узла, например IIS (так как я вижу знак +).

Есть ли способ, чтобы это произошло?

ответ

1

Я не уверен, что это может быть сделано для SelfHost/Http. С Net.Tcp вам пришлось бы использовать PortSharing, чтобы это произошло.

В худшем случае вы можете создать Routing Service, который направляет ваши запросы к правильному сервису, где каждый из них прослушивает другой порт.

Также ознакомьтесь с документацией для HostNameComparisonMode Enumeration. Документы для basicHttpBinding покажут вам, как их использовать.

+0

Добавление 'hostNameComparisonMode =" Exact "' к конфигурации привязок, похоже, решает эту проблему. Спасибо. –