web-dev-qa-db-fra.com

Utiliser async sans attendre

Je voudrais faire une fonction asynchrone, donc j'ajoute simplement async comme ceci:

public async static void something(){
}

Vous pouvez voir que son type de retour est void. Je veux juste que cette fonction soit appelée de manière asynchrone sans blocage, car return est void donc pas de await n'est nécessaire.

Mais Visual Studio 2012 ne peut tout simplement pas compiler cela, il dit que je manque await?

Pourriez-vous s'il vous plaît conseiller un exemple qui fait une fonction async sans utiliser await.

33
Eric Yin

Je pense que peut-être vous vous méprenez sur ce que fait async. L'avertissement est tout à fait exact: si vous marquez votre méthode async mais n'utilisez pas await nulle part, alors votre méthode ne sera pas asynchrone. Si vous l'appelez, tout le code à l'intérieur de la méthode s'exécutera de manière synchrone.

Vous devez également éviter d’utiliser async void méthodes, elles rendent la gestion des exceptions difficile.

33
svick