Silverlight 4 - 调用WCF代理时的异常处理逻辑重用

时间:2011-05-10 12:49:11

标签: wcf silverlight-4.0

我添加了一个Silverlight应用程序的服务引用。当我想在服务中调用一个方法时,我使用这些行:

        CustomServiceClient proxy = new CustomServiceClient();
        proxy.GetDataCompleted += new EventHandler<GetDataCompletedEventArgs>(Proxy_GetDataCompleted);
        try
        {
            proxy.GetDataAsync(appUser.Id);
            proxy.CloseAsync();
        }
        catch (TimeoutException exception)
        {
            Console.WriteLine("Got {0}", exception.GetType());
            proxy.Abort();
        }
        catch (CommunicationException exception)
        {
            Console.WriteLine("Got {0}", exception.GetType());
            proxy.Abort();
        }

问题是,每次我需要调用方法时,我都会复制此代码。我无法找到一种优雅的方式来重用它(我可以使用继承并为每个方法创建一个新类,但它非常难看。)

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

this msdn forum post中的答案似乎通过使用扩展方法为此提供了一个优雅的解决方案。