Наше приложение обращается к службе WCF, которая размещается службой Windows на одном компьютере. Клиентское приложение и служба всегда будут находиться на одном компьютере.Не удается отладить службу wcf-windows
Я создал службу Windows, в которой размещена служба WCF. Чтобы проверить свой код службы Windows, я создал консольное приложение, которое содержит тот же файл app.config и код, что и моя служба Windows. Я запускаю консольное приложение в одном отладочном потоке и запускаю свой клиент в другой поток отладки. Все работает отлично, и я легко могу использовать отладчик.
Сейчас в руб ...
Итак, я создал инсталлятор и установил мою службу Windows. После успешного запуска я успешно добавил ссылку на службу моему клиенту, используя http://localhost/VssService в Visual Studio 2010. Я успешно подключился к службе через «Attach To Process». Я запустил свой клиент в потоке отладки, но когда я пытаюсь войти в удаленный метод, я получаю «Невозможно автоматически перейти на сервер. Отладчик не смог остановить серверный процесс». Это происходит как для [NetNamedPipeBinding_IVssService], так и для [BasicHttpBinding_IVssService]. Я боролся с этим часами и исчерпывал идеи, поэтому надеюсь, что вы можете мне помочь. Я включил файлы app.config для своего приложения Windows Service и Client. Надеюсь, они помогут.
Я ценю Ваше желание прочитать этот вопрос и надеемся, что вы можете помочь бы решить эту проблему ...
Майк
============== ======= SERVICE 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>
Видели это? http://social.msdn.microsoft.com/Forums/en-IE/asmxandxml/thread/20b41329-1aed-4892-925e-ce0d5cef70fe – Kangkan
Для обозначения в качестве ответа нажмите на значок, который похож на Tik (знак Nike) в левой руке одного из ответов. –
Просто примечание: вы можете пройти через основную разработку WCF с помощью трассировки и регистрации событий. Проверьте следующую ссылку: http://msdn.microsoft.com/en-us/library/ms733025.aspx. – casals