Я создаю сервисный уровень для своего приложения WPF, который будет обертывать клиент веб-API, использующий Action<T> обратные вызовы для своих асинхронных методов. Поскольку мне все равно нужно будет обернуть методы, я подумал о том, чтобы мои методы-оболочки моего сервисного слоя соответствовали новому асинхронному шаблону .NET 4.5 на основе Task, а не выставляли Action<T> обратные вызовы.
В настоящее время у меня нет острой необходимости в асинхронизации на основе Task, но у меня также нет причин, по которым я обязательно должен оставаться с обратными вызовами, и упаковка кажется достаточно простой (как описано здесь) Обратная совместимость не является проблемой. Тем не менее, если есть какие-либо подводные камни для таких Action<T> обратных вызовов для переноса задач, я просто буду поддерживать статус-кво.