从Silverlight调用WCF服务时处理超时异常
我正在从应用程序中使用WCF调用ASMX web服务-当对web服务的调用失败时,例如由于超时或连接问题,则会在ApplicationUnhandledException方法中捕获异常,并且不会传递给已完成的事件处理程序从Silverlight调用WCF服务时处理超时异常,silverlight,wcf,exception-handling,Silverlight,Wcf,Exception Handling,我正在从应用程序中使用WCF调用ASMX web服务-当对web服务的调用失败时,例如由于超时或连接问题,则会在ApplicationUnhandledException方法中捕获异常,并且不会传递给已完成的事件处理程序 如何确保将处理传递给web服务代理上已完成的事件处理程序?令人沮丧的是,xxxCompletedEventArgs类上有一个错误属性,这让我相信它应该传递回这个事件处理程序,而不是仅仅抛出一个异常 我可以修改Reference.cs中的Endxxx方法来添加一个try/catc
如何确保将处理传递给web服务代理上已完成的事件处理程序?令人沮丧的是,xxxCompletedEventArgs类上有一个错误属性,这让我相信它应该传递回这个事件处理程序,而不是仅仅抛出一个异常 我可以修改Reference.cs中的Endxxx方法来添加一个try/catch块,它允许我进行恢复,但在这种情况下,我会丢失错误详细信息-如果要使用WCF,我看不到需要做什么才能使e.error属性populatedTimeout异常正常工作。但我不知道为什么异常不会发送到已完成的事件。它们应该,至少在默认配置中是这样。Reference.cs不是生成的文件吗?下次您需要更新服务引用时,这些机会不会被覆盖吗?@eremzeit我从来没有说过它很漂亮:@DuncanWatts..您知道如何处理超时异常吗?我必须像你一样在Reference.cs中写一个trycatch,但肯定有更好的方法。我可以在Reference.cs中修改Endxxx方法来添加一个try/catch块,这允许我进行恢复,但在这种情况下,我会丢失错误详细信息-我看不到我需要做什么来获得e.error属性populatedTimeout异常,如果使用WCF,它可以正常工作。但我不知道为什么异常不会发送到已完成的事件。它们应该,至少在默认配置中是这样。Reference.cs不是生成的文件吗?下次您需要更新服务引用时,这些机会不会被覆盖吗?@eremzeit我从来没有说过它很漂亮:@DuncanWatts..您知道如何处理超时异常吗?我不得不像你一样在Reference.cs中写一个trycatch,但一定有更好的方法。