Heim >Backend-Entwicklung >C++ >Wie kann ich asynchrone Programmierung in C# -Konsole -Anwendungen implementieren?
C#Konsolenanwendung Asynchrones Programmieren: Verstehe
Modifikator async
In der asynchronen Programmierung wird die Methode
-Methode jedoch nicht als async
definiert werden, was den Entwicklern, die das Programm asynchron sind, eine Herausforderung darstellen. Main
async
In diesem Artikel wird dieses Problem eingehend und die Ersatzmethode zum Erreichen von asynchronem Verhalten in der Konsolenanwendung erörtert.
Wohnheim
async
In Visual Studio 2012 ist die -Methode als
oder Main
, die Methode async
Task
. Auf diese Weise können Entwickler den folgenden Code schreiben: Task<T>
async
Main
Diese Methode scheint den Hauptfaden zu blockieren, ähnlich der Verwendung von
<code class="language-csharp">class Program { static async Task Main(string[] args) { Bootstrapper bs = new Bootstrapper(); var list = await bs.GetList(); } }</code>
Die alternative Methode der asynchronen Konsolenanwendung GetAwaiter().GetResult()
Wenn die Methode nicht möglich ist, kann der Entwickler eine der folgenden alternativen Methoden anwenden:
Angeordneter Kontext: Erstellen Sie eine angepasste "Hauptschleife", die mit async
kompatibel für die Konsolenanwendung kompatibel ist. Dieser Zyklus wirkt als Behälter für asynchrone Methoden. Main
async
, indem statt <code class="language-csharp">class Program { static void Main(string[] args) { MainAsync(args).GetAwaiter().GetResult(); } static async Task MainAsync(string[] args) { Bootstrapper bs = new Bootstrapper(); var list = await bs.GetList(); } }</code>
eine direktere Methode für die asynchrone Konsolenanwendung bietet, ist sie nicht für die alte Version von Visual Studio geeignet oder wenn die GetAwaiter().GetResult()
Wait()
nicht geeignet ist Für eine bestimmte Implementierung können alternative Methoden verwenden. Result
Das obige ist der detaillierte Inhalt vonWie kann ich asynchrone Programmierung in C# -Konsole -Anwendungen implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!