Наше приложение обращается к службе WCF, которая размещена службой Windows на одном компьютере. Клиентское приложение и сервис всегда будут на одном компьютере.
Я создал службу Windows, в которой размещается служба WCF. Чтобы проверить мой код службы Windows, я создал консольное приложение, которое содержит тот же app.config и код, что и моя служба Windows. Я запускаю консольное приложение в одном потоке отладки и запускаю свой клиент в другом потоке отладки. Все работает отлично, и я легко могу использовать отладчик.
Теперь руб ...
Итак, я создал установщик и установил мою службу Windows. После успешного запуска я успешно добавил ссылку на службу в мой клиент, используя http://localhost/VssService в Visual Studio 2010. Я успешно подключился к службе через «Присоединить к процессу». Я запустил мой клиент в потоке отладки, но когда я пытаюсь войти в удаленный метод, я получаю сообщение «Невозможно автоматически войти в сервер. Отладчику не удалось остановить в процессе сервера». Это происходит как для [NetNamedPipeBinding_IVssService], так и для [BasicHttpBinding_IVssService]. Я боролся с этим часами и у меня кончились идеи, поэтому я надеюсь, что вы мне поможете. Я включил файлы app.config для моей службы Windows и клиентского приложения. Надеюсь, они помогут.
Я благодарен вам за то, что вы нашли время прочитать этот вопрос, и надеюсь, что вы поможете решить эту проблему ...
Mike
===================== ОБСЛУЖИВАНИЕ APP.CONFIG ====================== =======
<services>
<service behaviorConfiguration="VssServiceBehavior" name="ClientSaver.VssService.VssService">
<endpoint address="net.pipe://localhost/VssService/Pipe/" binding="netNamedPipeBinding"
bindingConfiguration="" contract="ClientSaver.VssService.IVssService" />
<endpoint address="http://localhost/VssService/" binding="basicHttpBinding"
bindingConfiguration="" contract="ClientSaver.VssService.IVssService" />
<endpoint address="http://localhost/VssService/MEX/" binding="mexHttpBinding"
bindingConfiguration="" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost/VssService/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="VssServiceBehavior">
<serviceMetadata httpGetEnabled="True" policyVersion="Policy15" />
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
========================= КЛИЕНТ APP.CONFIG ================== ===========
<endpoint address="http://localhost/VssService/" binding="basicHttpBinding"
bindingConfiguration="" contract="ClientSaver.VssService.IVssService" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="VssServiceBehavior">
<serviceMetadata httpGetEnabled="true" policyVersion="Policy15" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>