Невозможно настроить службу WCF для использования клиентом Silverlight - PullRequest
0 голосов
/ 17 мая 2011

Я очень стараюсь разработать дуплексную службу wcf для клиентов Silverlight. Теперь ради приключений я решил использовать nettcpbinding . Я понимаю, что концепция PolicyServer для работы на порте 943 устарела и должна обслуживаться из корня службы.

дано Ниже приведен раздел конфигурации для сервиса

  <behaviors>
    <serviceBehaviors>
      <behavior name="WcfServer.WcfServiceBehavior">
        <serviceMetadata httpGetEnabled="true" />           
      </behavior>
    </serviceBehaviors>
    <endpointBehaviors>
      <behavior name="CrossDomainServiceBehavior">
        <webHttp/>
      </behavior>
    </endpointBehaviors>
  </behaviors>
  <services>
    <service behaviorConfiguration="WcfServer.WcfServiceBehavior"
      name="WcfServer.MainService">
      <endpoint address="" binding="netTcpBinding" bindingConfiguration="TCPBinding" contract="WCFWebFrontCommunication.IMainService">

      </endpoint>
      <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
      <endpoint address="" binding="webHttpBinding" behaviorConfiguration="CrossDomainServiceBehavior" contract="WCFWebFrontCommunication.IClientAccessPolicy" />

      <host>
        <baseAddresses>
          <!--<add baseAddress= "http://192.168.0.101:943/WcfServer/MainService" />-->
          <!--<add baseAddress= "http://localhost:943/WcfServer/MainService" />-->
          <add baseAddress= "net.tcp://localhost:4502/WcfServer/MainService" />
          <add baseAddress="http://localhost:4502"/>
        </baseAddresses>
      </host>
    </service>

  </services>
</system.serviceModel>

теперь во время выполнения я получаю исключение HTTP не может зарегистрировать URL http://+:4502/, поскольку TCP-порт 4502 используется другим приложением . когда вызывается метод Open.

Я делаю что-то глупое здесь .., хотя исключение http было там и с basicHttpBinding

Как устранить неполадки: проверен на открытый порт с помощью Netstat -aon Там был какой-то пост о настройке HTTP, за ним ничего не произошло

Спасибо за чтение.

1 Ответ

0 голосов
/ 17 мая 2011

Вы пытаетесь разместить файл clientaccesspolicy.xml по HTTP и используете net.tcp для того же номера порта, но это не сработает.Хотя оба эти протокола основаны на TCP / IP, они несовместимы.

Насколько я понимаю (см. Также эту статью ), порт 943 по-прежнему используется для подобных вещей.

...