我有一个使用WCF服务的Silverlight 2应用程序.因此,它使用异步回调对服务方法的所有调用.如果服务没有运行,或者在其中一个呼叫之前或之中崩溃,或者网络出现故障,则会根据您的期望生成异常.问题是,我不知道如何抓住这个异常.
>因为它是一个异步调用,所以我不能用try / catch块来包装我的开始调用,并且在程序从那个位置移动之后,它会接收到一个异常.
因为服务代理是自动生成的,所以我不能在调用EndInvoke的每一个生成的函数(实际显示异常的地方)放置一个try / catch块.这些生成的函数也被调用堆栈中的外部代码包围,所以堆栈中没有其他地方也可以尝试/捕获.
>我不能把try / catch放在我的回调函数中,因为异常发生在被调用之前.
>我的App.xaml.cs中有一个Application_UnhandledException函数,它捕获所有未处理的异常.我可以使用这个,但它似乎是一个凌乱的方式来做到这一点.我宁愿将这个功能保留在真正意想不到的错误(也就是错误)中,而不是以这种方式处理的每种情况都不会在这个函数中使用代码.
我缺少一个明显的解决方案吗?或者我卡住了Application_UnhandledException?
[编辑]
如下所述,Error属性正是我正在寻找的.扔我一个循环是什么是异常被抛出并且似乎被忽略的事实,但执行能够继续.它触发Application_UnhandledException事件并导致VS2008中断执行,但在调试器中继续允许执行继续.这不是一个真正的问题,只是看起来很奇怪.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。