управление названием именованного канала при хостинге WCF net.pipe связывающий в IIS

У меня есть сервис, доступный через 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 сервисные экземпляры на той же машине?

6
задан Andrew Patterson 27 November 2009 в 01:43
поделиться