I have built a helper class that talks to a JSON service. The class does its work in a background thread. When done, it calls an Action<> CallBack which the client sent it.
Is it best to have the helper class call the Action<> callback on the main UI thread, or should threading be the responsibility of the client?
You should provide a complete synchronous API like
object Fetch()and an explicitly marked asynchronous API likevoid FetchAsnyc(Callback). Maybe your client use a different approach to Multitasking then he can implement this with your synchronous API.And the UI Thread is really not your scope.