我的Windows Phone 8应用程序异步连接到远程服务器上托管的WCF服务以执行CRUD操作。 Currenlty在代码中手动处理所有trasactions,例如处理各种异常,在操作期间丢失连接或从代码返回的任何异常。只是想知道是否有任何可用于处理这些常见场景的框架,以便缩短开发时间。
答案 0 :(得分:0)
您可以迁移到 Reactive Extensions (Rx)。
MSDN:
Rx .NET是一个托管库,提供用于编写被动,基于推送的应用程序的API。反应性应用程序受其环境驱动。在反应模型中,数据流,异步请求和事件表示为可观察序列。应用程序可以订阅这些可观察序列,以在新数据到达时接收异步消息。 Reactive Extensions允许应用程序使用查询运算符组合这些序列。 More...
它有一些非常常规的重试和错误处理。
source.Retry(3).Catch(...)
好消息它也适用于Windows Phone 8.1
答案 1 :(得分:-1)
您可以使用UnhandledExceptionEventHandler
使用System;
公共类示例 {
public static void Example()
{
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();
}
}