我的代码使用了大量的WCF调用,当我尝试调试它时,它并没有转到服务代码本身。有没有办法调试WCF代码?
发布于 2012-01-06 10:42:58
您需要将调试器附加到运行wcf服务的进程。
如果在iis中,您需要附加到相应的w3p.exe进程。
如果在独立的应用程序或windows服务中,请附加到您的exe的名称。
在Visual Studio的“调试器”菜单上,有一个“附加到进程”。打开相关代码,设置断点,并调用导致该代码路径执行的服务。
在调试之外,使用具有可切换级别的.net跟踪是深入了解正在发生的事情的好方法。我通常会设置sys内部的debugview,用颜色突出显示错误和警告,并在运行代码或测试时不断地运行它。当我工作时,我的周边视觉会发现问题。
发布于 2013-02-19 08:14:42
有一种更简单的方法。只需在Visual Studio中启动多个进程。右键单击解决方案。单击属性。选择启动项目。单击多个启动项目。将WCF和客户端项目设置为Action=Start。现在,您将逐步了解WCF以及客户端。
发布于 2012-01-06 11:06:23
如果您希望跟踪WCF活动,以查看流量是否以正确的顺序生成,那么我建议使用以下方法之一:
1)使用fiddler监控网络流量。
2)使用WCF跟踪监听器监控实际的WCF调用。在尝试确定序列化失败的原因时,这非常有用。您可以通过将以下块添加到web.config的配置块来启用此功能:
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="traceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="c:\log\WebTrace.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>双击生成的文件将打开WCF服务日志查看器,该查看器将为您分析文件,并允许您深入特定的调用并查看实际发生的异常。
https://stackoverflow.com/questions/8752731
复制相似问题