ASP.NET MVC使用異步TPL模式
1、MVC中如何使用異步
我們新建一個MVC的項目,我們在Home控制器的Index方法里面讀取一個文件的內(nèi)容,然后返回給用戶,我們看下面的代碼:
/// <summary> /// 異步方法 /// </summary> /// <returns></returns> public Task<ActionResult> Index() { return Task.Run<ActionResult>(() => { using (StreamReader sr = new StreamReader("F:\test.txt")) { string txt = sr.ReadToEnd(); return Content(txt); } }); }
我們可以得出結(jié)論:如果要在MVC中使用異步方法,只需要將返回值改為Task<ActionResult>即可,如果方法標記為async,連自己創(chuàng)建Task都可以省略:
/// <summary> /// 異步方法,并使用async標注 /// </summary> /// <returns></returns> public async Task<ActionResult> Index() { using (StreamReader sr = new StreamReader("F:\test.txt")) { string txt =await sr.ReadToEndAsync(); return Content(txt); } //return View(); }
2、MVC中使用異步提升性能
現(xiàn)在開發(fā)ASP.NET MVC程序,建議都使用異步。因為異步可以提升系統(tǒng)的性能。準確來講,不是提升性能,不會提高訪問速度,而是提高服務器的“吞吐量”,也就是可以處理的并發(fā)請求數(shù)。
到此這篇關(guān)于ASP.NET MVC使用異步TPL模式的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ASP.NET 程序中刪除文件夾導致session失效問題的解決辦法分享
這篇文章主要介紹了ASP.NET 程序中刪除文件夾導致session失效問題的解決辦法分享,有需要的朋友可以參考一下2013-12-12javascript實現(xiàn)listbox左右移動實現(xiàn)代碼
javascript實現(xiàn)listbox左右移動實現(xiàn)代碼,需要的朋友可以參考下。2010-05-05Sqlite 常用函數(shù)封裝提高Codeeer的效率
以下是頻繁用到的Sqlite函數(shù),內(nèi)容格式相對固定,封裝一下有助于提高開發(fā)效率^_^至少提高Codeeer的效率了2012-12-12ajax.net +jquery 無刷新三級聯(lián)動的實例代碼
ajax.net +jquery 無刷新三級聯(lián)動的實例代碼,需要的朋友可以參考一下2013-05-05使用Supervisor守護ASP.NET?Core應用程序進程
這篇文章介紹了使用Supervisor守護ASP.NET?Core應用程序進程的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-03-03