У меня уже есть несколько протестированных и корректно работающих служб WCF + Windows, которые работают как службы Windows на удаленных компьютерах разработчиков. За исключением одного.
Для отладки я попытался разместить WCF (без службы Windows), используя встроенную «Добавить ссылку на службу», а затем разместить ее в Visual Studio (не знаю, как называется хост).
В любом случае, я не могу получить ссылку «Добавить сервис», чтобы узнать о моих услугах.
Поскольку я пользуюсь Сервисами Windoes, я использую TCP. Вот некоторые вещи, которые я сделал, все в приложении winforms, к которому я добавляю сервисную ссылку :
Добавить проект> Свойства> Отладка> Аргументы командной строки: /client:"WcfTestClient.exe ", но исполняемый файл не запускается.
И мой App.Config
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<client>
<endpoint address="net.tcp://localhost:32279/SYNC" binding="netTcpBinding"
bindingConfiguration="tcpSyncBindingConfig" contract="Company.Data.Sync.ILocalCacheSyncContract"
name="tcpSyncClientEP" />
</client>
<bindings>
<netTcpBinding>
<binding name="tcpSyncBindingConfig" maxReceivedMessageSize="6553600" />
</netTcpBinding>
<mexTcpBinding>
<binding name="tcpMexBindingConfig" />
</mexTcpBinding>
</bindings>
<services>
<service behaviorConfiguration="svcBehavior" name="Company.Data.Sync.Services.LocalCacheSyncService">
<endpoint address="net.tcp://localhost:32279/Sync" binding="netTcpBinding"
bindingConfiguration="tcpSyncBindingConfig" name="tcpSyncListenEP"
contract="Company.Data.Sync.Services.ILocalCacheSyncContract" />
<endpoint address="net.tcp://localhost:32279/Sync/mex" binding="mexTcpBinding"
bindingConfiguration="tcpMexBindingConfig" name="tcpMexEP" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="svcBehavior">
<serviceMetadata httpGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Примечание : ServiceOperation возвращает Microsoft.Synchronization.Data.xxx, например SyncContext. Возможно, мне придется добавить ссылку в Winforms? Или «Добавить справочник услуг» добавит их для меня? Служба и контракты генерируются шаблоном локального кэша базы данных. возможно, не относится к проблеме.