Calling an async
method returns a hot task, a task that has already been started. So there is no actual code necessary to force it to run.
According MSDN (thanks to Stephen Cleary) the Task-based Asynchronous Pattern (TAP) pattern requires returned tasks to be hot. That means that all tasks, except those created with new Task
will be hot.
From the referenced article:
Tasks that are created by the public
Task
constructors are referred to as cold tasks... All other tasks begin their life cycle in a hot state.