Является ли WSDualHttpBinding в сборке Silverlight 4? - PullRequest
1 голос
/ 02 июля 2010

Я пытаюсь подключиться к существующей службе Windows, которая предоставляет несколько конечных точек WCF.Я обеспокоен тем, о чем будет говорить приложение Silverlight 4.Вот файл конфигурации службы (по крайней мере, те разделы, которые нас интересуют):

  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="EnableMetadataBehavior">
          <serviceMetadata httpGetEnabled="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service behaviorConfiguration="EnableMetadataBehavior" name="Cad.Server.ConsoleCustomerServicePortal">
        <endpoint address="ConsoleCustomerServicePortal" binding="wsDualHttpBinding"
          name="CustomerServiceEndpoint" contract="Cad.Net.Wcf.Contracts.CustomerService.ICustomerService" />
        <endpoint address="" behaviorConfiguration="webHttpBehavior"
          binding="webHttpBinding" name="CustomerServiceSilverlightEndpoint"
          contract="Cad.Net.Wcf.Contracts.Silverlight.IClientAccessPolicy" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:31313/" />
          </baseAddresses>
        </host>
      </service>
    </services>
  </system.serviceModel>

Служба размещается самостоятельно, и следующий запуск узла службы:

 Public Sub StartServiceHost()
      'Publish the Wcf Service endpoint.
      Try
        shRccUserInterface = New ServiceHost(Me._CsService)
        AddHandler shRccUserInterface.Faulted, AddressOf OnChannelFaulted
        AddHandler shRccUserInterface.Closed, AddressOf OnChannelClosed
        AddHandler shRccUserInterface.Opened, AddressOf OnChannelOpened
        AddHandler shRccUserInterface.Opening, AddressOf OnChannelOpening
        AddHandler shRccUserInterface.UnknownMessageReceived, AddressOf OnUnknownMessageReceived

        shRccUserInterface.Open()
        Me.blnServiceHostOpen = True
        RaiseEvent ServiceHostOpenEvent(Me)
      Catch exWcf As Exception
        log.Write_Error("CsGuiComm", "StartServiceHost()", exWcf)
        RaiseEvent SendUtaEmailEvent("Wcf Problem", exWcf.ToString, System.Net.Mail.MailPriority.High)
      End Try
    End Sub

Я могу сгенерировать ссылку на службу в приложении Silverlight просто отлично, хотя из-за способа настройки службы мой файл ServiceReferences.ClientConfig выглядит следующим образом:

<configuration />

Я искал и нашел способ обойти этодолжен предоставить информацию о привязке и конечной точке для прокси (http://tomasz.janczuk.org/2009/07/pubsub-sample-using-http-polling-duplex.html). На основании этого примера я попытался написать:

Dim _address As New EndpointAddress ("http://localhost:31313/ConsoleCustomerServicePortal") Dim _binding As New WSDualHttpBinding()

Затемнить _Клиент как новыйлибо получите заполнение ServiceReferences.ClientConfig при создании ссылки на службу, получите ссылку на WSDualHttpBinding в приложении Silverlight, или я должен переключиться на другую привязку (PollingDuplexHttpBinding)?

Ответы [ 2 ]

1 голос
/ 21 июля 2010

Эта привязка отсутствует в платформе Silverlight.Только самые основные привязки.

0 голосов
/ 02 июля 2010

WSDualHttpBinding Класс:

Безопасная и совместимая связь, разработанная для использования с дуплексными контрактами на обслуживание, которая позволяет и службам, и клиентам отправлять и получать сообщения.

Пространство имен: System.ServiceModel
Сборка: System.ServiceModel (в System.ServiceModel.dll)

Это то, чтоВы ищете?

Если вы добавите ссылку на System.ServiceModel, она должна работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...