JoinableTaskFactory.Run Methode

Definition

Überlädt

Run(Func<Task>, JoinableTaskCreationOptions)

Führt die angegebene asynchrone Methode zum Abschluss aus, während der aufrufende Thread synchron blockiert wird.

Run(Func<Task>)

Führt die angegebene asynchrone Methode zum Abschluss aus, während der aufrufende Thread synchron blockiert wird.

Run<T>(Func<Task<T>>)

Führt die angegebene asynchrone Methode zum Abschluss aus, während der aufrufende Thread synchron blockiert wird.

Run<T>(Func<Task<T>>, JoinableTaskCreationOptions)

Führt die angegebene asynchrone Methode zum Abschluss aus, während der aufrufende Thread synchron blockiert wird.

Run(Func<Task>, JoinableTaskCreationOptions)

Führt die angegebene asynchrone Methode zum Abschluss aus, während der aufrufende Thread synchron blockiert wird.

public:
 void Run(Func<System::Threading::Tasks::Task ^> ^ asyncMethod, Microsoft::VisualStudio::Threading::JoinableTaskCreationOptions creationOptions);
public void Run (Func<System.Threading.Tasks.Task> asyncMethod, Microsoft.VisualStudio.Threading.JoinableTaskCreationOptions creationOptions);
member this.Run : Func<System.Threading.Tasks.Task> * Microsoft.VisualStudio.Threading.JoinableTaskCreationOptions -> unit
Public Sub Run (asyncMethod As Func(Of Task), creationOptions As JoinableTaskCreationOptions)

Parameter

asyncMethod
Func<Task>

Die auszuführende asynchrone Methode.

creationOptions
JoinableTaskCreationOptions

Die JoinableTaskCreationOptions, die verwendet werden, um das Verhalten der Aufgabe zu ändern.

Gilt für

Run(Func<Task>)

Führt die angegebene asynchrone Methode zum Abschluss aus, während der aufrufende Thread synchron blockiert wird.

public:
 void Run(Func<System::Threading::Tasks::Task ^> ^ asyncMethod);
public void Run (Func<System.Threading.Tasks.Task> asyncMethod);
member this.Run : Func<System.Threading.Tasks.Task> -> unit
Public Sub Run (asyncMethod As Func(Of Task))

Parameter

asyncMethod
Func<Task>

Die auszuführende asynchrone Methode.

Hinweise

Alle vom Delegaten ausgelösten Ausnahmen werden in Ihrem ursprünglichen Typ erneut an den Aufrufer dieser Methode ausgelöst.

Wenn der Delegat von einem erwartungsgemäß fortgesetzt wird, besteht das Standardverhalten darin, seinen ursprünglichen Kontext als normale asynchrone Methoden Ausführung fortzusetzen. Wenn sich der Aufrufer z. b. im Haupt Thread befunden hat, wird die Ausführung nach einem warten auf den Haupt Thread fortgesetzt. Wenn Sie jedoch auf einem Thread Pool-Thread gestartet wird, wird Sie in einem Thread Pool Thread fortgesetzt.

// On threadpool or Main thread, this method will block
// the calling thread until all async operations in the
// delegate complete.
joinableTaskFactory.Run(async delegate {
    // still on the threadpool or Main thread as before.
    await OperationAsync();
    // still on the threadpool or Main thread as before.
    await Task.Run(async delegate {
         // Now we're on a threadpool thread.
         await Task.Yield();
         // still on a threadpool thread.
    });
    // Now back on the Main thread (or threadpool thread if that's where we started).
});

Gilt für

Run<T>(Func<Task<T>>)

Führt die angegebene asynchrone Methode zum Abschluss aus, während der aufrufende Thread synchron blockiert wird.

public:
generic <typename T>
 T Run(Func<System::Threading::Tasks::Task<T> ^> ^ asyncMethod);
public T Run<T> (Func<System.Threading.Tasks.Task<T>> asyncMethod);
member this.Run : Func<System.Threading.Tasks.Task<'T>> -> 'T
Public Function Run(Of T) (asyncMethod As Func(Of Task(Of T))) As T

Typparameter

T

Der Werttyp, der vom asynchronen Vorgang zurückgegebenen wird.

Parameter

asyncMethod
Func<Task<T>>

Die auszuführende asynchrone Methode.

Gibt zurück

T

Das Ergebnis der Aufgabe, die von zurückgegeben wird asyncMethod .

Hinweise

Alle vom Delegaten ausgelösten Ausnahmen werden in Ihrem ursprünglichen Typ erneut an den Aufrufer dieser Methode ausgelöst.

Wenn der Delegat von einem erwartungsgemäß fortgesetzt wird, besteht das Standardverhalten darin, seinen ursprünglichen Kontext als normale asynchrone Methoden Ausführung fortzusetzen. Wenn sich der Aufrufer z. b. im Haupt Thread befunden hat, wird die Ausführung nach einem warten auf den Haupt Thread fortgesetzt. Wenn Sie jedoch auf einem Thread Pool-Thread gestartet wird, wird Sie in einem Thread Pool Thread fortgesetzt.

Ein Beispiel finden Sie in der Run(Func<Task>) Überladungs Dokumentation.

Gilt für

Run<T>(Func<Task<T>>, JoinableTaskCreationOptions)

Führt die angegebene asynchrone Methode zum Abschluss aus, während der aufrufende Thread synchron blockiert wird.

public:
generic <typename T>
 T Run(Func<System::Threading::Tasks::Task<T> ^> ^ asyncMethod, Microsoft::VisualStudio::Threading::JoinableTaskCreationOptions creationOptions);
public T Run<T> (Func<System.Threading.Tasks.Task<T>> asyncMethod, Microsoft.VisualStudio.Threading.JoinableTaskCreationOptions creationOptions);
member this.Run : Func<System.Threading.Tasks.Task<'T>> * Microsoft.VisualStudio.Threading.JoinableTaskCreationOptions -> 'T
Public Function Run(Of T) (asyncMethod As Func(Of Task(Of T)), creationOptions As JoinableTaskCreationOptions) As T

Typparameter

T

Der Werttyp, der vom asynchronen Vorgang zurückgegebenen wird.

Parameter

asyncMethod
Func<Task<T>>

Die auszuführende asynchrone Methode.

creationOptions
JoinableTaskCreationOptions

Die JoinableTaskCreationOptions, die verwendet werden, um das Verhalten der Aufgabe zu ändern.

Gibt zurück

T

Das Ergebnis der Aufgabe, die von zurückgegeben wird asyncMethod .

Hinweise

Alle vom Delegaten ausgelösten Ausnahmen werden in Ihrem ursprünglichen Typ erneut an den Aufrufer dieser Methode ausgelöst.

Wenn der Delegat von einem erwartungsgemäß fortgesetzt wird, besteht das Standardverhalten darin, seinen ursprünglichen Kontext als normale asynchrone Methoden Ausführung fortzusetzen. Wenn sich der Aufrufer z. b. im Haupt Thread befunden hat, wird die Ausführung nach einem warten auf den Haupt Thread fortgesetzt. Wenn Sie jedoch auf einem Thread Pool-Thread gestartet wird, wird Sie in einem Thread Pool Thread fortgesetzt.

Gilt für