WCF — на net.tcp:///Querier.svc не было прослушивания конечной точки, которая могла бы принять сообщение

WCF — на net.tcp://myserver:9000/SearchQueryService/Querier.svc не было прослушивания конечной точки, которая могла бы принять сообщение.

У меня включен протокол net.tcp в приложении IIS.

Брандмауэр Windows отключен

Привязка net.tcp настроена на порт 9000 для всего приложения IIS.

Мой web.config очень стандартный:

<system.serviceModel>
    <diagnostics>
      <messageLogging logMalformedMessages="true" logMessagesAtServiceLevel="false"
        logMessagesAtTransportLevel="true" />
    </diagnostics>
    <services>
      <service behaviorConfiguration="SearchQueryServiceBehavior" 
       name="Search.Querier.WCF.Querier">
        <endpoint address="mex" binding="mexHttpBinding" name="mexHttpEndpoint"
          contract="IMetadataExchange" />
        <endpoint binding="netTcpBinding" bindingConfiguration="" 
           name="netTcpEndpoint"
          contract="Search.Querier.WCF.IQuerier" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="SearchQueryServiceBehavior">

          <serviceMetadata httpGetEnabled="true"/>

          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

И эта самая установка работает на одном сервере, а на другом нет... В чем может быть проблема?

Оба сервера, рабочий и нерабочий, работают под управлением IIS7. Единственная разница в том, что рабочая коробка - Vista64 Sp2, а нерабочая - W2k864.


person Matt    schedule 25.09.2009    source источник


Ответы (4)


Я думаю, что вам не хватает net.tcp в списке «Включить протоколы» в дополнительных настройках сайта.

person Shiraz Bhaiji    schedule 28.09.2009

У вас установлен .net 3.5 на машине w2k864? После установки вы запускали aspnet_iisreg?

Проверьте настройки asp.net в IIS и убедитесь, что он настроен на использование версии 2.0.

Можете ли вы предоставить дополнительную информацию?

Также попробуйте использовать свой IP, а не имя хоста. например 192.168.1.100 вместо моего сервера

person Lucas B    schedule 25.09.2009

При переходе к службе (http://myserver/SearchQueryService/Querier.svc) вы получить какие-либо сообщения об ошибках?

Я также заметил, что ваш клиент вызывает конечную точку net.tcp через порт 9000. Соответствует ли эта конфигурация конфигурации IIS net.tcp? В конфигурации по умолчанию вызов вашей службы должен быть направлен на net.tcp://myserver/SearchQueryService/Querier.svc.

person Ramiro Berrelleza    schedule 28.09.2009

Возможно, есть другое приложение, настроенное для прослушивания того же порта, вы также можете увидеть, что это упоминается здесь - https://stackoverflow.com/a/7254861/4446128, если это так, вероятно, оба приложения на одном порту не работают. Я бы хотел, чтобы сообщение об ошибке было лучше, когда это произойдет, поскольку мне потребовалась целая вечность, чтобы понять (мне приходилось иметь дело со многими приложениями, использующими net.tcp), я надеюсь, что эта информация будет полезна для всех, кто все еще имеет дело с WCF.

person sergeyski.com    schedule 14.11.2020