Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Silverlight调用WCF服务时处理超时异常_Silverlight_Wcf_Exception Handling - Fatal编程技术网

从Silverlight调用WCF服务时处理超时异常

从Silverlight调用WCF服务时处理超时异常,silverlight,wcf,exception-handling,Silverlight,Wcf,Exception Handling,我正在从应用程序中使用WCF调用ASMX web服务-当对web服务的调用失败时,例如由于超时或连接问题,则会在ApplicationUnhandledException方法中捕获异常,并且不会传递给已完成的事件处理程序 如何确保将处理传递给web服务代理上已完成的事件处理程序?令人沮丧的是,xxxCompletedEventArgs类上有一个错误属性,这让我相信它应该传递回这个事件处理程序,而不是仅仅抛出一个异常 我可以修改Reference.cs中的Endxxx方法来添加一个try/catc

我正在从应用程序中使用WCF调用ASMX web服务-当对web服务的调用失败时,例如由于超时或连接问题,则会在ApplicationUnhandledException方法中捕获异常,并且不会传递给已完成的事件处理程序


如何确保将处理传递给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,但一定有更好的方法。