2013-09-17 3 views
0

Я пытаюсь опубликовать мою службу wcf duplex на сервере без каких-либо успехов, я могу опубликовать ее на локальном IIS, но когда я опубликую ее на сервере, ее адрес станет net.tcp://win-rhkt30stjd7/Broadcastor/BroadcasterService.svc. Как вы согласитесь, такой адрес вообще не пригодится при создании сервисной ссылки на клиента. Я попытался опубликовать его как проект приложения WCF и проект библиотеки обслуживания, но оба дают тот же результат. Вероятно, что-то отсутствует в моем файле Web.config, но я не знаю, что это такое. Пожалуйста, помогите мне здесь. Ниже мой Web.config файл:Я не мог правильно опубликовать службу duplex wcf

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <appSettings> 
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> 
    </appSettings> 
    <system.web> 
    <compilation debug="false" /> 
    <customErrors mode="Off"/> 
    </system.web> 
    <system.serviceModel> 
    <services> 
     <service name="BroadcastorServiceApp.BroadcastorService"> 
     <endpoint binding="netTcpBinding" contract="BroadcastorServiceApp.IBroadcastorService"> 
     </endpoint> 
     <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" /> 
     </service> 
    </services> 
    <bindings> 
     <netTcpBinding> 
     <binding> 
      <security mode="None"></security> 
     </binding> 
     </netTcpBinding> 
    </bindings> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior> 
      <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True" /> 
      <serviceDebug includeExceptionDetailInFaults="True" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 
    <system.webServer> 
    <directoryBrowse enabled="true" /> 
    </system.webServer> 
</configuration> 

ответ

0

Я не вижу какой-либо address часть в вашем NET TCP endpoint

1: Добавьте базовый адрес, как показано ниже:

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

2: добавить параметр адреса к вашему нетто tcp конечная точка как:

<endpoint address = "tcpEndPoint" 
      binding="netTcpBinding" 
      contract="BroadcastorServiceApp.IBroadcastorService"></endpoint> 

3: Alse gi ве имени поведения, как:

<serviceBehaviors> 
    <behavior name="ServiceBehavior"> 
     <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True" /> 
     <serviceDebug includeExceptionDetailInFaults="True" /> 
    </behavior> 
</serviceBehaviors> 

И добавить к службе, как:

<service name="BroadcastorServiceApp.BroadcastorService" behaviorConfiguration="ServiceBehavior"> 
    <endpoint binding="netTcpBinding" contract="BroadcastorServiceApp.IBroadcastorService"></endpoint> 
    <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" /> 
</service> 
+0

Я дам ему попробовать –

+0

я не понимаю 2 предложения вашего, что бы адрес ? –

+0

проверить редактирование .. – Akon

Смежные вопросы