w ASP.NET MVC kontrolerów 2 asynchronicznych, możemy zrobić coś takiego:W asynchronicznych kontrolerach ASP.NET MVC 2, czy filtry akcji są wykonywane asynchronicznie?
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;
}
}
Moje pytanie brzmi, czy filtr działanie „Blurb” w tym przypadku wykonać asynchronicznie? Innymi słowy, czy jego synchroniczna natura jest automatycznie zawijana w asynchroniczne wywołanie?
Czy filtr jest wykonywany w jeszcze innym wątku? Czy BeginInvoke nie używa wątku wątku? Czy to nie pokonuje celu połączenia asynchronicznego? –
Rozumiem, że wywołania asynchroniczne nie używają tej samej puli wątków, której używają żądania internetowe, więc usługi IIS nie są narażone na głód wątków. –