1

我正在为我的 WPF 应用程序创建一个服务层,它将包装一个 Web API 客户端,该客户端使用Action<T>回调作为它的异步方法。因为无论如何我都需要包装这些方法,所以我正在考虑让我的服务层的包装方法符合新Task的基于 .NET 4.5 的异步模式,而不是公开Action<T>回调。

我目前没有迫切需要Task基于 -based 的异步,但我也没有任何理由必须保留回调,并且包装似乎很容易(如此所述)向后兼容性不是问题。也就是说,如果Action<T>对 Tasks 包装的此类回调有任何陷阱,我将保持现状。

4

1 回答 1

3

我没有看到这样做的任何陷阱,事实上它会打开您的应用程序以分配更灵活的场景。我建议您还考虑将一些“回调”场景转换为观察者模式(请参阅Microsoft 的Reactive Extensions项目),当与基于任务的模式结合使用时,它更加强大和灵活。当然,您将能够在 C# 5.0 中使用新的基于任务的新模式和新的异步/等待模式!

希望能帮助到你。

于 2012-08-23T07:32:41.767 回答