Thanks to Jeremy Miller\'s good work in Functional Programming For Everyday .NET Development, I have a working command executor that does everything I want it to (do heavy l
Send - synchronous: wait for answer (or action completed)
Post - asynchronous: drop off and continue
So your example uses the correct methods at the right moments. There is no need to halt the for-loop until the progress update is complete (on the contrary).
And Execute does want to wait for the Action to complete, otherwise the exception handling has no purpose.