Основы WCF со службой Windows - PullRequest
0 голосов
/ 08 ноября 2010

Я изучаю WCF специально в отношении Silverlight.

Может кто-нибудь сказать мне, правильно ли я считаю, что могу создать службу WCF и предоставить конечную точку TCP с помощью службы Windows, которую может использовать мое приложение Silverlight?

Мне удалосьразоблачить это с помощью IIS, но было бы хорошо, если бы мы могли обойти использование IIS, поскольку некоторым нашим клиентам это не нравится.

ОБНОВЛЕНИЕ ...

ОК. Я создал библиотеку служб WCF (RemoteClientLib с IRemoteClients, определяющими мои контракты на обслуживание, и RemoteClients, реализующие этот интерфейс) и службу Windows для ее размещения.Я добавил App.config в оба проекта, который выглядит следующим образом:

<?xml version="1.0"?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="RemoteClientLib.RemoteClients" behaviorConfiguration="remoteBehavior">
        <endpoint address="" binding="netTcpBinding" contract="RemoteClientLib.IRemoteClients" bindingConfiguration="remoteBinding"/>
        <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/>
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://localhost:4520/RemoteClients"/>
          </baseAddresses>
        </host>
      </service>

    </services>
    <bindings>
      <netTcpBinding>
        <binding name="remoteBinding"></binding>
      </netTcpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="remoteBehavior">
          <serviceMetadata/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
  <system.web>
    <compilation debug="true"/>
  </system.web>

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>

Я создал установщик проекта для установки службы и запустил ее, но когда я пытаюсь добавить ссылку на службу в свой проект silverlightЯ получаю «Невозможно установить соединение, потому что целевой компьютер активно отказался от него». Что-то мне не хватает?

Ответы [ 3 ]

1 голос
/ 09 ноября 2010

Вы можете создать службу Windows, которая будет действовать как ваш собственный хост.Вот ссылка на различные методы, доступные для размещения службы WCF.

1 голос
/ 09 ноября 2010

Этот пример на codeproject.com, который я использовал для самостоятельного размещения служб WCF.Было бы довольно просто встроить его в службу Windows.Рассматривайте Topshelf как среду службы Windows.

0 голосов
/ 08 ноября 2010

Вы должны быть в состоянии сделать это. Любые привязки, которые вы можете использовать во время работы в IIS, должны быть доступны для самостоятельного размещения.

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