异步通信框架

本文关键字:框架 异步通信 | 更新日期: 2023-09-27 18:04:05

我的windows Phone 8应用程序异步连接到托管在远程服务器上的WCF服务来执行CRUD操作。目前,所有事务都是在代码中手动处理的,比如处理各种异常、操作期间失去连接性或从代码返回的任何异常。只是想知道是否有任何可用的框架可以用来处理这些常见的场景,从而可以减少开发时间

异步通信框架

你可以使用UnhandledExceptionEventHandler

使用系统;

公共类{

示例()

{

    AppDomain currentDomain = AppDomain.CurrentDomain;
    currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHandler);
    try
    {
        throw new Exception("First Handled Exception");
    }
    catch (Exception e)
    {
        Console.WriteLine("Catch clause caught : " + e.Message);
    }
    try
    {
        throw new Exception("Second Handled Exception");
    }
    catch (Exception e)
    {
        Console.WriteLine("Catch clause caught : " + e.Message);
        // throw;
        // throw new Exception("Re-throw second exception", e);
    }
    // throw new Exception("Un-Handled Exception");
}
static void MyHandler(object sender, UnhandledExceptionEventArgs args)
{
    Exception e = (Exception)args.ExceptionObject;
    Console.WriteLine("Exception Message: {0}", e.Message);
}
public static void Main()
{
    Example();
}

}

您可以迁移到响应式扩展 (Rx)。

MSDN:

Rx . net是一个托管库,提供了用于编写响应式、基于推送的应用程序的api。响应式应用是由环境驱动的。在响应式模型中,数据流、异步请求和事件被表示为可观察序列。应用程序可以订阅这些可观察序列,以便在新数据到达时接收异步消息。响应式扩展允许应用程序使用查询操作符来组合这些序列。更多…

它有一些非常棒的重试和错误处理。

source.Retry(3).Catch(...)

好消息是Windows Phone 8.1也可以使用

  • Windows Phone 8 .NET响应式扩展
  • 高级错误处理