#wcf #nettcpbinding
Вопрос:
Я борюсь с отладкой nettcpbinding с помощью wcf. Я знаю, что для httpbinding после добавления конечной точки mex и поведения мы можем сначала проверить в браузере, работает ли служба. Но для nettcp, похоже, нет такого прямого способа проверить, работает ли служба или нет.
У меня есть следующая конфигурация, и оказалось, что я все еще могу использовать браузер для открытия URI http://localhost:8090/MagicEightBallService. Но для привязки httpbinding нет определения конечной точки. Это почему? Переводит ли WCF конечную точку netTcpBiding в конечную точку httpbiding за сценой?
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<system.serviceModel>
<services>
<service name ="MagicEightBallServiceLib.MagicEightBallService"
behaviorConfiguration="EightBallServiceMEXBehavior">
<endpoint address=""
binding="netTcpBinding"
contract="MagicEightBallServiceLib.IEightBall"/>
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange"/>
<host>
<baseAddresses>
<add baseAddress="http://localhost:8090/MagicEightBallService"/>
<add baseAddress="net.tcp://localhost:8091/MagicEightBallService"/>
</baseAddresses>
</host>
</service>
</services>
<bindings>
<basicHttpBinding>
<binding openTimeout="00:00:30"/>
</basicHttpBinding>
<netTcpBinding>
<binding closeTimeout="00:00:15"/>
</netTcpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="EightBallServiceMEXBehavior">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
<behavior>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Комментарии:
1. Вы можете посмотреть на ограничения при отладке WCF