【发布时间】:2009-04-14 14:07:17
【问题描述】:
我有 web 服务(我自己为数据库交互创建的)托管在加载我的 silverlight 项目的同一个 web 项目中。每当我放置断点以通过异步方法遍历代码时,Visual Studio 只会将我指向响应事件(已完成事件),从而跳过 Web 服务中的代码,因此不知道它们内部发生了什么。是否有在 web 服务中启用调试的选项?
【问题讨论】:
我有 web 服务(我自己为数据库交互创建的)托管在加载我的 silverlight 项目的同一个 web 项目中。每当我放置断点以通过异步方法遍历代码时,Visual Studio 只会将我指向响应事件(已完成事件),从而跳过 Web 服务中的代码,因此不知道它们内部发生了什么。是否有在 web 服务中启用调试的选项?
【问题讨论】:
弄清楚为什么它进入了webservices,我将silverlight项目而不是web项目设置为启动项目
【讨论】:
如果你的服务和 web 项目都在同一个环境中,那么,
右键wcfservice1(服务项目文件夹)--->调试--->启动新实例
同样,右键单击 web 项目文件夹 ---> 调试 ---> 启动新实例
现在在两个文件中创建断点并开始调试..简单...
【讨论】:
一种方法是启用 WebService 跟踪选项。默认情况下,WCF 服务不报告详细信息,因为服务错误是特定于该服务的技术,不应超出服务边界。您需要编写额外的代码来披露详细的异常信息。启用服务跟踪将允许您记录服务调用和异常,并查看堆栈跟踪,而无需额外编码,并使用服务异常处理程序污染您的客户端。
最快的方法是使用 WCF 服务配置编辑器(在 VS2008 的工具下)。运行编辑器后,打开包含服务设置的配置文件。在编辑器中,转到诊断菜单“文件夹”,然后单击“启用跟踪”。单击 Trace Level 选项将弹出一个对话框...将 Trace Level 下拉菜单设置为 Error。单击 ServiceModelTraceListener 并检查 Callstack 选项...为方便起见,可能会更改日志文件的路径。保存。
当您双击生成的 .svclog 文件时,Microsoft Service Trace Viewer 将启动,向您显示服务正在执行的操作。
ib.
【讨论】: