Dispatcher Klasse
Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Dispatcher-Klasse

 

Stellt Dienste für die Verwaltung der Warteschlange von Arbeitsaufgaben für einen Thread.

Namespace:   System.Windows.Threading
Assembly:  WindowsBase (in WindowsBase.dll)

System.Object
  System.Windows.Threading.Dispatcher

public sealed class Dispatcher

NameBeschreibung
System_CAPS_pubpropertySystem_CAPS_staticCurrentDispatcher

Ruft den Dispatcher für den derzeit ausgeführten Thread ab bzw. erstellt einen neuen, wenn dem Thread noch kein Dispatcher zugeordnet ist.

System_CAPS_pubpropertyHasShutdownFinished

Bestimmt, ob die Dispatcher Beendigung abgeschlossen hat.

System_CAPS_pubpropertyHasShutdownStarted

Bestimmt, ob der Dispatcher wird heruntergefahren.

System_CAPS_pubpropertyHooks

Ruft die Auflistung von Hooks, die Weitere Informationen zum Bereitstellen der Dispatcher.

System_CAPS_pubpropertyThread

Ruft den Thread dieses Dispatcher zugeordnet ist.

NameBeschreibung
System_CAPS_pubmethodBeginInvoke(Delegate, DispatcherPriority, Object[])

Führt den angegebenen Delegaten asynchron mit den angegebenen Argumenten und der angegebenen Priorität für den Thread, der die Dispatcher erstellt wurde.

System_CAPS_pubmethodBeginInvoke(Delegate, Object[])

Führt den angegebenen Delegaten asynchron mit den angegebenen Argumenten für den Thread, der die Dispatcher erstellt wurde.

System_CAPS_pubmethodBeginInvoke(DispatcherPriority, Delegate)

Führt den angegebenen Delegaten asynchron mit der angegebenen Priorität auf dem Thread aus, dem der Dispatcher zugeordnet ist.

System_CAPS_pubmethodBeginInvoke(DispatcherPriority, Delegate, Object)

Führt den angegebenen Delegaten asynchron mit der angegebenen Priorität und dem angegebenen Argument für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodBeginInvoke(DispatcherPriority, Delegate, Object, Object[])

Führt den angegebenen Delegaten asynchron mit der angegebenen Priorität und dem angegebenen Array von Argumenten für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodBeginInvokeShutdown(DispatcherPriority)

Initiiert ein asynchrones Beenden des Dispatcher.

System_CAPS_pubmethodCheckAccess()

Bestimmt, ob der aufrufende Thread zugeordnet ist Dispatcher.

System_CAPS_pubmethodDisableProcessing()

Deaktiviert die Verarbeitung der Dispatcher Warteschlange.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von Object.)

System_CAPS_pubmethodSystem_CAPS_staticExitAllFrames()

Fordert an, denen Beenden aller Frames einschließlich geschachtelter Frames.

System_CAPS_pubmethodSystem_CAPS_staticFromThread(Thread)

Ruft den Dispatcher für den angegebenen Thread ab.

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von Object.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von Object.)

System_CAPS_pubmethodInvoke(Action)

Führt den angegebenen Action synchron für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke(Action, DispatcherPriority)

Führt den angegebenen Action synchron mit der angegebenen Priorität für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke(Action, DispatcherPriority, CancellationToken)

Führt den angegebenen Action synchron mit der angegebenen Priorität für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke(Action, DispatcherPriority, CancellationToken, TimeSpan)

Führt den angegebenen Action synchron mit der angegebenen Priorität für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke(Delegate, DispatcherPriority, Object[])

Führt den angegebenen Delegaten mit der angegebenen Priorität und den angegebenen Argumenten synchron auf dem Thread aus, dem der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke(Delegate, Object[])

Führt den angegebenen Delegaten mit den angegebenen Argumenten synchron für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke(Delegate, TimeSpan, DispatcherPriority, Object[])

Führt den angegebenen Delegaten in der angegebenen Zeitspanne mit der angegebenen Priorität und den angegebenen Argumenten synchron für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke(Delegate, TimeSpan, Object[])

Führt den angegebenen Delegaten in der angegebenen Zeitspanne mit der angegebenen Priorität und den angegebenen Argumenten synchron für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke(DispatcherPriority, Delegate)

Führt den angegebenen Delegaten synchron mit der angegebenen Priorität für den Thread, auf dem die Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke(DispatcherPriority, Delegate, Object)

Führt den angegebenen Delegaten mit der angegebenen Priorität und dem angegebenen Argument synchron auf dem Thread aus, dem der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke(DispatcherPriority, Delegate, Object, Object[])

Führt den angegebenen Delegaten mit der angegebenen Priorität und den angegebenen Argumenten synchron für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke(DispatcherPriority, TimeSpan, Delegate)

Führt den angegebenen Delegaten synchron mit der angegebenen Priorität und dem angegebenen Timeoutwert für den Thread der Dispatcher erstellt wurde.

System_CAPS_pubmethodInvoke(DispatcherPriority, TimeSpan, Delegate, Object)

Führt den angegebenen Delegaten mit der angegebenen Priorität und dem angegebenen Argument synchron auf dem Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[])

Führt den angegebenen Delegaten mit der angegebenen Priorität und den angegebenen Argumenten synchron auf dem Thread aus, dem der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke<TResult>(Func<TResult>)

Führt den angegebenen Func<TResult> synchron für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke<TResult>(Func<TResult>, DispatcherPriority)

Führt den angegebenen Func<TResult> synchron mit der angegebenen Priorität für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken)

Führt den angegebenen Func<TResult> synchron mit der angegebenen Priorität für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan)

Führt die angegebene Func<TResult> synchron mit der angegebenen Priorität auf dem Thread aus, dem der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvokeAsync(Action)

Führt den angegebenen Action asynchron auf dem Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvokeAsync(Action, DispatcherPriority)

Führt den angegebenen Action asynchron mit der angegebenen Priorität für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvokeAsync(Action, DispatcherPriority, CancellationToken)

Führt den angegebenen Action asynchron mit der angegebenen Priorität für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvokeAsync<TResult>(Func<TResult>)

Führt den angegebenen Func<TResult> asynchron auf dem Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvokeAsync<TResult>(Func<TResult>, DispatcherPriority)

Führt den angegebenen Func<TResult> asynchron mit der angegebenen Priorität für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvokeAsync<TResult>(Func<TResult>, DispatcherPriority, CancellationToken)

Führt den angegebenen Func<TResult> synchron mit der angegebenen Priorität für den Thread der Dispatcher zugeordnet ist.

System_CAPS_pubmethodInvokeShutdown()

Startet das Herunterfahren der Dispatcher synchron.

System_CAPS_pubmethodSystem_CAPS_staticPushFrame(DispatcherFrame)

Tritt in eine Ausführungsschleife ein.

System_CAPS_pubmethodSystem_CAPS_staticRun()

Stellt den Hauptausführungsframe in die Ereigniswarteschlange von der Dispatcher.

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von Object.)

System_CAPS_pubmethodSystem_CAPS_staticValidatePriority(DispatcherPriority, String)

Bestimmt, ob das angegebene DispatcherPriority ist eine gültige Priorität.

System_CAPS_pubmethodVerifyAccess()

Bestimmt, ob der aufrufende Thread Zugriff auf diese Dispatcher.

System_CAPS_pubmethodSystem_CAPS_staticYield()

Erstellt ein Awaitable-Objekt, welches ansynchron das Steuerelement an den aktuellen Verteiler zurückgibt und dem Verteiler die Gelegenheit gibt, andere Ereignisse zu verarbeiten.

System_CAPS_pubmethodSystem_CAPS_staticYield(DispatcherPriority)

Erstellt eine awaitable-Objekt, das asynchron gibt die Steuerung wieder auf den aktuellen Dispatcher und bietet die Möglichkeit für den Verteiler auf andere Ereignisse verarbeiten. Die Arbeit, die auftritt, wenn die Steuerung an den Code, der das Ergebnis dieser Methode zurückgegeben wird mit der angegebenen Priorität geplant.

NameBeschreibung
System_CAPS_pubeventShutdownFinished

Tritt auf, wenn die Dispatcher die Beendigung.

System_CAPS_pubeventShutdownStarted

Tritt auf, wenn die Dispatcher Herunterfahren beginnt.

System_CAPS_pubeventUnhandledException

Tritt ein, wenn eine Threadausnahme ausgelöst und während der Ausführung eines Delegaten mit Invoke oder BeginInvoke nicht abgefangen wird.

System_CAPS_pubeventUnhandledExceptionFilter

Tritt auf, wenn eine Threadausnahme ausgelöst und nicht während der Ausführung eines Delegaten mit abgefangene Invoke oder BeginInvoke im Filter-Phase.

NameBeschreibung
System_CAPS_pubmethodBeginInvoke(Action)

Überladen. Führt den angegebenen Delegaten asynchron mit der normalen Priorität für den Thread aus, in dem der angegebene Dispatcher erstellt wurde.(Definido por DispatcherExtensions).

System_CAPS_pubmethodBeginInvoke(Action, DispatcherPriority)

Überladen. Führt den angegebenen Delegaten asynchron mit der angegebenen Priorität für den Thread, der dem angegebenen Dispatcher erstellt wurde.(Definido por DispatcherExtensions).

System_CAPS_pubmethodInvoke(Action, TimeSpan)

Überladen. Führt den angegebenen Delegaten synchron für den Thread, der dem angegebenen Dispatcher erstellt wurde, und beendet die Ausführung nach Ablauf des angegebenen Timeouts.(Definido por DispatcherExtensions).

System_CAPS_pubmethodInvoke(Action, TimeSpan, DispatcherPriority)

Überladen. Führt den angegebenen Delegaten synchron mit der angegebenen Priorität für den Thread, der dem angegebenen Dispatcher erstellt wurde, und beendet die Ausführung nach Ablauf des angegebenen Timeouts.(Definido por DispatcherExtensions).

Ein Dispatcher verwaltet eine priorisierte Warteschlange von Arbeitsaufgaben für einen bestimmten Thread.

Wenn ein Dispatcher für einen Thread erstellt wird, wird er zum einzigen Dispatcher, der mit diesem Thread assoziiert werden kann, auch wenn er geschlossen wird.

Wenn Sie versuchen, erhalten die CurrentDispatcher für den aktuellen Thread und ein Dispatcher ist nicht mit dem Thread verknüpft eine Dispatcher erstellt werden. Ein Dispatcher wird auch erstellt, bei der Erstellung einer DispatcherObject. Bei der Erstellung einer Dispatcher in einem Hintergrundthread werden Sie sicher, dass der Verteiler Herunterfahren, bevor der Thread wird beendet.

Wenn ein Dispatcher beendet, es kann nicht neu gestartet werden.

In WPF, ein DispatcherObject kann nur zugegriffen werden, indem die Dispatcher es zugeordnet ist.  Z. B. kann kein Hintergrundthread aktualisiert den Inhalt einer Button zugeordnete der Dispatcher auf der UI Thread. In der Hintergrundthread für den Zugriff auf die Content Eigenschaft der Button, der Hintergrundthread die Arbeit an delegieren muss die Dispatcher zugeordnet der UI Thread. Dies wird erreicht, indem Sie entweder Invoke oder BeginInvoke. Invoke ist synchron und BeginInvoke ist asynchron. Der Vorgang wird in die Warteschlange des hinzugefügt der Dispatcher am angegebenen DispatcherPriority.

Wenn BeginInvoke für aufgerufen wird, eine Dispatcher die wurde heruntergefahren, die Status-Eigenschaft des zurückgegebenen DispatcherOperation Wert Aborted.

Alle Methoden von Dispatcher, mit Ausnahme von DisableProcessing, Freethread-sind.

Objekte, die von abgeleitet DispatcherObject Threadaffinität.

Objekte, die von abgeleitet Freezable sind Freethread-Wenn sie fixiert werden. Weitere Informationen finden Sie unter Freezable Objects Overview.

Das folgende Beispiel zeigt, wie eine Operation in einer Dispatcher. Der vollständige Quellcode dieses Beispiels, finden Sie unter Single-Threaded Application with Long-Running Calculation Sample.

Zuerst wird ein Delegat erstellt, der keine Argumente akzeptiert.

public delegate void NextPrimeDelegate();

Als Nächstes wird BeginInvoke(DispatcherPriority, Delegate) aufgerufen. Dieser Aufruf BeginInvoke(DispatcherPriority, Delegate) akzeptiert zwei Parameter: die Priorität, die auf DispatcherPriority.Normal, und der Rückruf, der durch eine Instanz des Delegaten übergeben wird NextPrimeDelegate.

startStopButton.Dispatcher.BeginInvoke(
    DispatcherPriority.Normal,
    new NextPrimeDelegate(CheckNextNumber));

.NET Framework
Verfügbar seit 3.0
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0

Öffentliche statische (in Visual Basic freigegebene) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Zurück zum Anfang
Anzeigen:
© 2016 Microsoft