问题:
在进行UI界面修改的时候,出现了一个很大的问题,就是“无法自动进入单步执行服务器。未能调试远程过程。这通常说明未在服务器上启动调试”,在进行远程调用的WCF调用的时候,出现的问题。
问题出现的原因:
是因为我们在源代码中修改了一些东西后,但在客户端调用的时候,一般使用配置文件中对WCF服务进行调用的:
<span style="font-size:18px;"> <endpoint address="http://localhost:5734/Service.svc?wsdl" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_Default"
contract="ITOO.UINonQueryProperties.Contracts.IUINonQueryPropertiesService" name="BasicHttpBinding_Services"/></span>
第一种可能:
这个错误是说你在webservice的代码不是在咱们本地的,到WCF调用的时候,就不能单步进去了。这个都是通过 远程数据交付的, 不能单步debug进去。
我们可以经过vs的编译生成dll文件(将服务端的代码),引用。
第二种可能:
当我们一般用到的是WCF服务,通过配置文件进行调用的,因此有一种可能就是,我们的服务的姓名写错了,比如说:
<span style="font-size:18px;"><%@ ServiceHost Language="C#" Debug="true" Service="ITOO.UINonQueryProperties.WCFService.UINonQueryPropertiesService" CodeBehind="Service.svc.cs" %></span>
第三种可能:
Service端的代码没有在本地,可以将服务在本地浏览器中打开,发布到本地的服务器上,就可以了。
具体就是现在浏览器中打开Service.svc文件,将终结点的配置放在Client端,就像最上面的配置文件中写的那样就可以单步运行过去了。
我之前以为是不是在本地IIS发布也可以,但实际上不行,不要用IIS发布的那个地址,直接用本地终结点配置到Client端就可以了。