|
Microsoft .Net-Samples
|
Class: Design-Pattern 04: Wie kann eine vorhandene Methode als Awaitable verwendet werden? More...
Public Member Functions | |
| async Task< bool > | _MakeAwaitableMain (bool _IsTaskFactoryVersion, CancellationTokenSource _CancellationTokenSource, CancellationToken _CancellationToken) |
| Ausführen einer nicht async Methode. | |
Private Member Functions | |
| Task< bool > | _MakeAwaitableMainTask (out string _OutputMessageTask, ref bool _ProcessStatus) |
| Zwischenschritt: Return Task (awaitable), aber kein ASYNC. | |
| bool | _MakeAwaitableMainTaskProcess (out string _OutputMessageTaskProcessing, ref bool _ProcessStatus) |
| Basis-Methode (vorhanden) einfache Methode ohne Task etc. | |
Class: Design-Pattern 04: Wie kann eine vorhandene Methode als Awaitable verwendet werden?
Cancel: Siehe frmDotNetSamples.tsA_TaskRun_Sample007_Click
| async Task< bool > fho.frm.net.Microsoft_DotNetSamples.ClassMethode.MyClassDesignPatternSample04._MakeAwaitableMain | ( | bool | _IsTaskFactoryVersion, |
| CancellationTokenSource | _CancellationTokenSource, | ||
| CancellationToken | _CancellationToken ) |
Ausführen einer nicht async Methode.
Dies ist die Main-Methode zur Implementierung einer alten nicht async und/oder Task definierten Methode. Es geht darum äleter Programme aus z.B. DataBase-Tool auf ASYNC lauffähig zu machen, damit die Vorgänge beim Einlesen/Verarbeiten nicht das Dialog blockieren.
Beide Varianten mit Task.Run() und Task.Factory.StartNew() sind in Ordnung, und können ausgeführt werden.
Cancellation Token
Count zum Endstop
Muss etwas mit LOOP sein, damit der IsCancellationRequested-Status geprüft werden kann. Dies muss in jedem Umlauf gemacht werden.
awaitable Zwischschritt für die standard Methode
Prüft bei jedem Durchgang den Zustand des Cancellation-Token, der Austiegspunkt wenn der Endstop nicht aktiv wird. Die frmDotNetSamples::tsAClassDesignPattern004_Click::Option-2 beendet diesen Vorgang mittels Cancellation-Token
Kontrolliertes Beenden wenn Cancellation-Event ausgelöst wird
Cancellation Token
Count zum Endstop
Muss etwas mit LOOP sein, damit der IsCancellationRequested-Status geprüft werden kann. Dies muss in jedem Umlauf gemacht werden.
awaitable Zwischschritt für die standard Methode
Prüft bei jedem Durchgang den Zustand des Cancellation-Token, der Austiegspunkt wenn der Endstop nicht aktiv wird. Die frmDotNetSamples::tsAClassDesignPattern004_Click::Option-2 beendet diesen Vorgang mittels Cancellation-Token
Kontrolliertes Beenden wenn Cancellation-Event ausgelöst wird
|
private |
Zwischenschritt: Return Task (awaitable), aber kein ASYNC.
| _OutputMessageTask | |
| _ProcessStatus |
|
private |
Basis-Methode (vorhanden) einfache Methode ohne Task etc.
| _OutputMessageTaskProcessing | |
| _ProcessStatus |
Diese Methode soll ASYNC ausgeführt werden. Mit AWAIT kann auf die Beendigung gewartet werden, damit der Return angezeigt werden kann. Kann aber auch ohne AWAIT verwendet werden, dann Start fertig. Dialog ist wieder bereit,