एएसपी.नेट एमवीसी 2 एसिंक्रोनस नियंत्रकों में, हम ऐसा कुछ कर सकते हैं:एएसपी.नेट एमवीसी 2 एसिंक्रोनस नियंत्रकों में, एक्शन फ़िल्टर एसिंक्रोनिस निष्पादित करते हैं?
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;
}
}
मेरा सवाल है, क्या इस मामले में एक्शन फ़िल्टर "ब्लर्ब" असीमित रूप से निष्पादित करता है? दूसरे शब्दों में, क्या इसकी तुल्यकालिक प्रकृति स्वचालित रूप से एक एसिंक्रोनस कॉल में लपेटा गया है?
तो फ़िल्टर अभी तक एक और धागे पर निष्पादित किया गया है? BeginInvoke थ्रेडपूल थ्रेड का उपयोग नहीं करता है? क्या यह एसिंक कॉल के उद्देश्य को हराने नहीं देता है? –
मेरी समझ यह है कि एसिंक्रोनस कॉल उसी थ्रेड पूल का उपयोग नहीं करते हैं जो वेब अनुरोधों का उपयोग करता है, इसलिए आईआईएस को थ्रेड भुखमरी का सामना नहीं करना पड़ता है। –