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)的性能。準確來講,不是提升性能,不會提高訪問速度,而是提高服務(wù)器的“吞吐量”,也就是可以處理的并發(fā)請求數(shù)。
到此這篇關(guān)于ASP.NET MVC使用異步TPL模式的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ASP.NET 程序中刪除文件夾導(dǎo)致session失效問題的解決辦法分享
這篇文章主要介紹了ASP.NET 程序中刪除文件夾導(dǎo)致session失效問題的解決辦法分享,有需要的朋友可以參考一下2013-12-12
javascript實現(xiàn)listbox左右移動實現(xiàn)代碼
javascript實現(xiàn)listbox左右移動實現(xiàn)代碼,需要的朋友可以參考下。2010-05-05
Sqlite 常用函數(shù)封裝提高Codeeer的效率
以下是頻繁用到的Sqlite函數(shù),內(nèi)容格式相對固定,封裝一下有助于提高開發(fā)效率^_^至少提高Codeeer的效率了2012-12-12
ajax.net +jquery 無刷新三級聯(lián)動的實例代碼
ajax.net +jquery 無刷新三級聯(lián)動的實例代碼,需要的朋友可以參考一下2013-05-05
使用Supervisor守護ASP.NET?Core應(yīng)用程序進程
這篇文章介紹了使用Supervisor守護ASP.NET?Core應(yīng)用程序進程的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03

