在ASP.NET MVC中,當您使用已完成的操作創建異步操作時,它會自動異步處理嗎?是否是自動異步的Asp MVC異步控制器操作?
例子:
如果我有沒有聲明的委託並異步無效在後臺線程自動運行一個長期運行的任務?
public void NewsAsync(string city) {
AsyncManager.OutstandingOperations.Increment();
NewsService newsService = new NewsService();
AsyncManager.Parameters["headlines"] = newsService.GetHeadlines;
AsyncManager.OutstandingOperations.Decrement();
}
還是隻有當長時間運行的任務是異步任務時纔會這樣做?
public void NewsAsync(string city) {
AsyncManager.OutstandingOperations.Increment();
NewsService newsService = new NewsService();
newsService.GetHeadlinesCompleted += (sender, e) =>
{
AsyncManager.Parameters["headlines"] = e.Value;
AsyncManager.OutstandingOperations.Decrement();
};
newsService.GetHeadlinesAsync(city);
}
所以換句話說,我不介意的空洞內的方法是異步,但我不關心,如果它的自我虛空是異步,以便騰出IIS線程。