Asynchroner Aktionsfilter in MVC 4
Ich habe einen Aktionsfilter, der unter bestimmten Bedingungen einen Webdienstaufruf ausführen muss, um sicherzustellen, dass der aktuelle Status gültig ist. Dies schien zunächst ein idealer Kandidat für Async / Warten zu sein, aber ich bin auf einen Haken gestoßen:
Nehmen Sie eine Anforderung an: / Test / FilteredAction
MyCustomActionFilter wird ausgeführtDie erste "Warten" -Anweisung ist erreichtTestController.FilteredAction wird ausgeführtMyCustomActionFilter setzt die Ausführung fortNormalerweise würde ich erwarten, dass der Aktionsfilter die Ausführung wieder aufnimmt und dann abgeschlossen wird, bevor die Controller-Aktion ausgeführt wird, aber das passiert nicht.
Jetzt gehe ich davon aus, dass ich Folgendes verwende:
public class MyCustomActionFilter : ActionFilterAttribute
{
public override **async** void OnActionExecuting(FilterContext context)
{
var foo = await WebServiceCall();
}
}
Ich denke, meine Frage lautet: Ist in MVC 4 eine asynchronsensitive Aktionsfilterklasse integriert, oder sollte ich nur die Anrufe hier blockieren?