I am looking into using either of mentioned ways of dealing with long running operations.
I won't be going into details what can be accomplished using each of these, but I'd rather explain what I want to do.
I have a set of HTTP-related methods, each retrieving a few pieces of information. This is all part of bigger system inside of a long-running service (so it's not some do-once, throw-away code).
Generally, which approach is better, encapsulation and maintainability wise: handling returned data when it's ready using Begin/End/AsyncCallback mechanism, or by firing events from within Tasks, like OnXXXReceived, OnXXXError, using derived EventArgs classes for each event?
I hope I was being clear enough.. I decided not to supply code samples, since I'm more interested in opinions, advices and possible pitfalls, than in tidbits of specific implementation.
Thanks!