Я пытаюсь создать службу WCF, доступную как через webHttpBinding, так и через netTcpBinding. Мне удалось добиться доступности webHttpBinding через Java-клиент, и сейчас я работаю над попыткой заставить работать netTcpBinding.
Я настроил конфигурацию следующим образом;
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="httpBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<services>
<service name="MR_Jukebox_Service.JukeboxService">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8732/Design_Time_Addresses/MR_Jukebox_Service/"/>
<add baseAddress="net.tcp://localhost:8523/Design_Time_Addresses/MR_Jukebox_Service/net/"/>
</baseAddresses>
</host>
<endpoint address=""
behaviorConfiguration="httpBehavior"
binding="webHttpBinding"
contract="MR_Jukebox_Service.IJukeboxService" />
<endpoint address="mex"
binding="mexHttpBinding"
contract="MR_Jukebox_Service.IJukeboxService" />
<endpoint address="net.tcp://localhost:8523/Design_Time_Addresses/MR_Jukebox_Service/net"
binding="netTcpBinding"
bindingConfiguration=""
contract="MR_Jukebox_Service.IJukeboxService" />
</service>
</services>
</system.serviceModel>
В том же решении у меня есть тестовое приложение, которое я хочу подключить к netTcpBinding, я щелкнул правой кнопкой мыши на «Service References» и выбрал «Add Service Reference ...».
Когда я нажимаю «Обнаружить», он находит службу, хотя говорит;
Произошла ошибка при загрузке http://localhost:8732/Design_Time_Addresses/MR_Jukebox_Service'.
Запрос не выполнен с состоянием HTTP 404: не найдено.
Метаданные содержат ссылку, которая не может быть разрешена: 'http://localhost:8732/Design_Time_Addresses/MR_Jukebox_Service'.
Не было конечной точки прослушивания в http://localhost:8732/Design_Time_Addresses/MR_Jukebox_Service, которая могла бы принять сообщение. Это часто вызвано неправильным адресом или действием SOAP. Смотрите InnerException, если имеется, для более подробной информации.
Удаленный сервер возвратил ошибку: (404) Not Found.
Если служба определена в текущем решении, попробуйте создать решение и снова добавить ссылку на службу.
Но я также не могу увидеть netTcpBinding для того, чтобы я смог создать для него ссылку на службу.
Мне было интересно, может ли кто-нибудь увидеть, что я делаю неправильно, потому что это, вероятно, что-то довольно простое, но из-за моего отсутствия опыта работы с WCF не заметил.
Спасибо за любую помощь заранее.