Ich habe async void
Methode erfolgreich auf ASP.NET Web Forms Seiten verwendet. Wenn ich jedoch versuchte, dieselbe Methode in einem Webbenutzersteuerelement zu verwenden, und dieses Webbenutzersteuerelement dann auf eine Seite mit der Einstellung async="true"
zu setzen, erhalte ich diesen Fehler:
Eine asynchrone Operation kann zu diesem Zeitpunkt nicht gestartet werden. Asynchrone Operationen können nur innerhalb eines asynchronen gestartet werden Handler oder Modul oder während bestimmter Ereignisse im Seitenlebenszyklus. Ob Diese Ausnahme ist beim Ausführen einer Seite aufgetreten. Stellen Sie sicher, dass die Seite ist markiert & lt;% @ Seite Async="wahr"% & gt;.
Die Frage ist also, ob die Methode void async
in der Webbenutzersteuerung verwendet und in eine async-aktivierte Webformularseite eingebettet werden kann?
Sie können eine asynchrone Methode für den Steueraufruf aufrufen, wenn sie sich auf einer Seite befindet. Siehe das folgende Beispiel:
Page.aspx
%Vor%Der Codebehind von Page.aspx ist leer
Control.ascx
%Vor%Kontrollcodebehind
%Vor%SlowClass.cs
%Vor%Tags und Links asp.net asynchronous user-controls void