Служба WCF netTCPbinding
Я хочу использовать netTCPbinding, поэтому я изменил свой веб-конфиг, как показано ниже. Я испытываю эту ошибку:
Не удалось найти базовый адрес, соответствующий схеме net.tcp для конечной точки с привязкой NetTcpBinding. Зарегистрированные схемы базовых адресов являются [http].
Как это можно решить?
<services>
<service name="DXDirectory.DXDirectoryService" behaviorConfiguration="DXDirectory.Service1Behavior">
<!-- Service Endpoints -->
<endpoint address="" binding="netTcpBinding" bindingConfiguration="WindowsSecured" contract="DXDirectory.IDXDirectoryService">
<!--
Upon deployment, the following identity element should be removed or replaced to reflect the
identity under which the deployed service runs. If removed, WCF will infer an appropriate identity
automatically.
-->
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:2582/DXDirectoryService" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="DXDirectory.Service1Behavior">
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="false" />
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false" />
<serviceAuthorization principalPermissionMode="UseWindowsGroups" />
<!--<serviceCredentials>-->
<!--<userNameAuthentication userNamePasswordValidationMode="Custom"
membershipProviderName="CustomUserNameValidator"/>-->
<!--</serviceCredentials>-->
</behavior>
</serviceBehaviors>
</behaviors>
3 ответа:
Хм... вы добавили базовый адрес к вашим услугам/узел раздел "ОК".
Быстрый вопрос: вы занимаетесь самостоятельным хостингом или хостингом в IIS ?? Какая версия IIS ??
IIS5 / 6 поддерживает только HTTP-соединения - вы не можете разместить NetTCP в IIS 5/6.
В IIS7 необходимо вручную выполнить ряд шагов для включения Привязок, не связанных с HTTP, но это возможно. Смотрите эту статью MSDN о том, как этого достичь.
Самохостинг-лучший вариант - вы получаете все привязки и полностью контролируют размещение вашего сервиса.
Марк
Вот NetTcpBinding базовый пример из msdn. Посмотрим, может ли это вам помочь.
Редактировать:
И здесь - связанный с этим вопрос.