我正在构建一个使用Web服务的Silverlight应用程序。
我有一个ServiceAgent调用,用于隐藏ViewModel中的代理实现。
我的问题是哪种异步编程模型最适合Silverlight应用程序?也就是说,我应该使用事件库异步模式(EAP)还是异步编程模型(APM)?
请告诉我过去哪种方式最适合您。
答案 0 :(得分:1)
经验法则是在UI代码和APM用于后端或库服务时实现EAP。
我想在你的情况下,在UI线程上引发事件会很有用,所以我会选择EAP。
您可能还想考虑使用新的TAP:Task-based Asynchronous Pattern。这将使得在今年晚些时候发布时更容易移植到C#5 async
。
更新:
我建议您使用TaskFactory.FromAsync,因为您要包装现有的APM。