This documentation is archived and is not being maintained.

Task.RunSynchronously Method (TaskScheduler)

Runs the Task synchronously on the TaskScheduler provided.

Namespace:  System.Threading.Tasks
Assembly:  mscorlib (in mscorlib.dll)

public void RunSynchronously(
	TaskScheduler scheduler


Type: System.Threading.Tasks.TaskScheduler
The scheduler on which to attempt to run this task inline.


The Task instance has been disposed.


The scheduler parameter is null.


The Task is not in a valid state to be started. It may have already been started, executed, or canceled, or it may have been created in a manner that doesn't support direct scheduling.

A task may only be started and run only once. Any attempts to schedule a task a second time will result in an exception.

If the target scheduler does not support running this Task on the current thread, the Task will be scheduled for execution on the scheduler, and the current thread will block until the Task has completed execution.

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.