6

In meinem ASP.NET MVC 3-Projekt rufe ich einen Webdienst für die Anmeldeauthentifizierung auf. Aber es gibt eine Ausnahme aus:Ein asynchroner Vorgang kann zu diesem Zeitpunkt nicht gestartet werden. Beim Aufruf von WebService tritt eine Ausnahme auf.

Asynchronous Exception

Ausnahmedetails:

Eine asynchrone Operation kann zu diesem Zeitpunkt nicht gestartet werden. Asynchrone Operationen können nur innerhalb eines asynchronen Handlers oder Moduls oder während bestimmter Ereignisse im Seitenlebenszyklus gestartet werden. Wenn diese Ausnahme beim Ausführen einer Seite aufgetreten ist, stellen Sie sicher, dass die Seite als <% @ Page Async = "true"%> markiert ist.

Wie behebt man dieses Problem?

+0

Wie wird die Controller-Aktion deklariert? Ist es "asynchron"? –

+0

Sie können auch einen anderen Thread für zeitaufwendigen Prozess erstellen :). asynchrone Methoden erstellen auch intern einen anderen Thread –

+0

Stellen Sie sicher, dass der Controller eine asynchrone Task oder void zurückgibt und call await für die asynchrone Methode aufruft. –

Antwort

4

Stellen Sie sicher, dass Ihre Controller-Methode eine asynchrone Aufgabe zurückgibt.

public class ServiceController : Controller 
{ 
    public async Task<ActionResult> Index() 
    {  
     var service = new Service(); 
     await service.CallMethodAsync();  
     return View(); 
    } 
} 

Grundsätzlich ist die Dokumentation in einer Art und Weise geschrieben, wo sie Sie glauben nur ASP.NET WebForms, aber offensichtlich kann man dies auch in MVC-Anwendungen verwenden, so dass ihre Dokumentation aktualisiert werden muss.

+0

Aufgabe Verlust HttpContext ist ein großes Problem – nim

Verwandte Themen