Невозможно разместить на IIS службу wcf на основе tcp. Невозможно получить метаданные из net.tcp: // localhost / TestApp2 / выскакивает ошибка MyService - PullRequest
0 голосов
/ 25 января 2012

У меня есть простой тестовый сервис WCF. Я пытаюсь разместить его под IIS 7.5 (Windows 7), но пока не повезло. Я получаю ошибку

Невозможно получить метаданные из net.tcp: // localhost / TestApp2 / MyService

У меня есть веб-сайт TestApp2 под веб-сайтом по умолчанию, я включил tcp на веб-сайте по умолчанию и TestApp2. Вот мой файл web.config, хотя я понимаю, что эта ошибка просто означает, что у меня нет конечной точки для обмена метаданными, я не вижу, в чем проблема, потому что я включил конечную точку для обмена метаданными.

<system.serviceModel>
<services>
  <service behaviorConfiguration="ServiceBehavior" name="MyService">

    <endpoint address="net.tcp://localhost/TestApp2/MyService"
              binding="netTcpBinding"
              bindingConfiguration="PortSharingBinding"
              contract="II7WcfService.IService1" />

    <endpoint address="MEX"
              binding="mexTcpBinding"
              contract="IMetadataExchange" />

    <host>
      <baseAddresses>
        <add baseAddress="net.tcp://localhost/TestApp2/MyService" />
      </baseAddresses>
    </host>

  </service>
</services>
<bindings>
  <netTcpBinding>
    <binding name="PortSharingBinding" portSharingEnabled="true">
      <security mode="None"/>
    </binding>
  </netTcpBinding>
</bindings>
<behaviors>
  <serviceBehaviors>
    <behavior name="ServiceBehavior">
      <serviceMetadata httpGetEnabled="False" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>

Спасибо.

1 Ответ

0 голосов
/ 25 января 2012

Полагаю, ваш сервис на самом деле не называется MyService, а находится в пространстве имен.Это означает, что ваши объявленные конечные точки не собираются, и вместо них используются значения по умолчанию (которые не включают IMetadataExchange).

Добавьте имя вашего пространства имен к атрибуту в конфигурации и онодолжно работать.

...