У меня есть сервис, доступный через http и net.pipe. Это размещается в IIS 7 (Сервер 2008). Я могу размещать различные экземпляры этого сервиса для нескольких клиентов на той же машине, и следовательно HTTP является установкой с виртуальными именами хостов и т.д. Это все хорошо работает.
Я думал, что сделаю подобный для сетевой привязки именованного канала - использующий некоторую форму клиентов 'virtualhostname' в базовом адресе именованного канала, поэтому позволяя мне получить доступ к различным клиентским экземплярам с различными net.pipe урнами (я понимаю, что именами net.pipe является УРНА не URL, таким образом, они могут быть чрезвычайно произвольными, но я думал, что буду следовать за подобным шаблоном к Адресам HTTP).
Вот мой web.config
<service name="Administration" behaviorConfiguration="AdministrationBehavior">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="normalWsBinding" contract="IAdministration" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<endpoint address="" binding="netNamedPipeBinding" bindingConfiguration="normalNetNamedPipeBinding" contract="IAdministration" />
<endpoint address="mex" binding="mexNamedPipeBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://virtualhostname.com/service" />
<add baseAddress="net.pipe://virtualhostname.com/administration/service" />
</baseAddresses>
</host>
</service>
Однако при доступе к WSDL для сервиса - базовый адрес для net.pipe, кажется, проигнорирован IIS. Вместо этого я получаю реальное имя хоста машины, и net.pipe обращается к УРНЕ, которая, кажется, была отформатирована полностью IIS.
<wsdl:port name="NetNamedPipeBinding_IAdministration" binding="tns:NetNamedPipeBinding_IAdministration">
<soap12:address location="net.pipe://realhostname/service/Administration.svc"/>
<wsa10:EndpointReference>
<wsa10:Address>net.pipe://realhostname.com/service/Administration.svc</wsa10:Address>
<Identity>
<Spn>host/realhostname.com</Spn>
</Identity>
</wsa10:EndpointReference>
</wsdl:port>
Без управления путем net.pipe имена формируются, я не смогу различить между несколькими экземплярами обслуживания клиентов на машине. У кого-либо есть какая-либо подсказка относительно того, как сетевой УРНОЙ привязки именованного канала можно управлять в среде IIS?
(Я делаю много автономных net.pipe, размещающих во время тестирования (т.е. новый ServiceHost ()), таким образом, я знаю, что моя net.pipe привязка действительно работает за пределами IIS и действительно позволяет управление точным именованным каналом используемая URN),
Если именами нельзя управлять в IIS - у кого-либо есть опыт с хостингом, и доступ к нескольким разделяют net.pipe сервисные экземпляры на той же машине?