如何在客户端/调用者抛出的Web服务中停止异常?

时间:2009-06-23 14:41:54

标签: asp.net visual-studio-2008 web-services compact-framework

我正在尝试使用在Windows Mobile 6上运行的.net紧凑框架应用程序来调试问题。当我在开发计算机上调用Web服务调用时,会发生这种情况。

我不需要任何实际错误的帮助,但是在正确的时间调用调试器。

我在调试模式下运行web服务,并且能够在visual studio中触发断点,所以我知道它已经附加了。我遇到的问题是,当我的Web服务抛出异常时,Web服务调用立即结束,异常文本出现在我的移动客户端的屏幕上。我真正想要的是异常导致Visual Studio中断执行并允许我使用调试器进行进一步调查。正如您可能想象的那样,无法获取行号非常令人沮丧,因为我必须逐行逐步执行代码,直到移动客户端上出现异常为止。

我已经在网上看到你如何将异常转换成SOAP以便传输到远程客户端,我认为可能是正在发生的事情,但我不希望它!

2 个答案:

答案 0 :(得分:1)

似乎Visual Studio只设置为处理“未处理”的异常,但是根据我可以收集的内容,调用我的Web服务方法的代码将其包装在try..catch中,处理错误并将其传递给客户端通过SOAP。

如果你去Visual Studio中的Debug-> Exceptions ...,有一些复选框可以强制visual studio在.NET框架内处理的异常上调用调试器 - 检查Common旁边的“thrown”列语言运行时异常,然后正确地选择它!

答案 1 :(得分:0)

您的应用程序中是否发生异常(它是如何处理Web服务调用的结果),还是发生在远程服务上,并且异常被传回?

作为临时解决方法,您可以尝试将Web服务调用封装在Try / Catch块中,然后再从Catch部分再次调用它,并在调用时使用断点。这样,当它第一次失败时,执行将在第二次调用时中断,因此您可以进入它或检查所有您想要的值,而无需单步执行代码来达到这一点。