En los controladores 2 asíncronos ASP.NET MVC, podemos hacer algo como esto:En los controladores asincrónicos ASP.NET MVC 2, ¿los filtros de acción se ejecutan de forma asíncrona?
public class SomeController : AsyncController
{
[Blurb]
public void FooAsync()
{
this.AsyncManager.OutstandingOperations.Increment();
Task.Factory.StartNew(
() =>
{
this.AsyncManager.Parameters["result"] = new BazResult();
this.AsyncManager.OutstandingOperations.Decrement();
});
}
public ActionResult FooCompleted(ActionResult result)
{
return result;
}
}
Mi pregunta es, ¿el filtro de acción "Comentario" en este caso, ejecutar de forma asincrónica? En otras palabras, ¿su naturaleza síncrona se envuelve automáticamente en una llamada asincrónica?
Entonces, ¿el filtro se ejecuta en otro hilo? ¿BeginInvoke no utiliza un hilo de subprocesos? ¿Eso no derrota el propósito de una llamada asíncrona? –
Según tengo entendido, las llamadas asíncronas no utilizan el mismo grupo de subprocesos que usan las solicitudes web, por lo que IIS no se enfrenta a la falta de subprocesos. –