JoinableTaskFactory.SwitchToMainThreadAsync Method (CancellationToken)

 

Gets an awaitable whose continuations execute on the synchronization context with which this instance was initialized, so that both deadlocks and reentrancy are mitigated.

Namespace:   Microsoft.VisualStudio.Threading
Assembly:  Microsoft.VisualStudio.Threading (in Microsoft.VisualStudio.Threading.dll)

Public Function SwitchToMainThreadAsync (
	cancellationToken As CancellationToken
) As JoinableTaskFactory.MainThreadAwaitable

Parameters

cancellationToken
Type: System.Threading.CancellationToken

A token whose cancellation immediately schedules the continuationon a threadpool thread.

private async Task SomeOperationAsync() {
    // on the caller's thread.
    await DoAsync();
    // Now switch to a threadpool thread explicitly.
    await TaskScheduler.Default;

    Now switch to the Main thread to talk to some STA object.
    await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();
    STAService.DoSomething();
}
Return to top
Show: