欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

提高ASP.NETWebAPI性能的技術(shù)有哪些-創(chuàng)新互聯(lián)

這篇文章主要介紹“提高 ASP.NET Web API性能的技術(shù)有哪些”,在日常操作中,相信很多人在提高 ASP.NET Web API性能的技術(shù)有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”提高 ASP.NET Web API性能的技術(shù)有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

成都創(chuàng)新互聯(lián) - 成都聯(lián)通服務(wù)器托管,四川服務(wù)器租用,成都服務(wù)器租用,四川網(wǎng)通托管,綿陽服務(wù)器托管,德陽服務(wù)器托管,遂寧服務(wù)器托管,綿陽服務(wù)器托管,四川云主機(jī),成都云主機(jī),西南云主機(jī),成都聯(lián)通服務(wù)器托管,西南服務(wù)器托管,四川/成都大帶寬,機(jī)柜大帶寬租用·托管,四川老牌IDC服務(wù)商

1) 使用最快的 JSON 序列化工具

JSON 的序列化對整個 ASP.NET Web API 的性能有著關(guān)鍵性的影響。在我的一個項(xiàng)目里,我從JSON.NET 序列化工具轉(zhuǎn)到了ServiceStack.Text有一年半了。

我測量過,Web API 的性能提升了20%左右。我強(qiáng)烈建議你去嘗試一下這個序列化工具。這里有一些最近的流行序列化工具性能的比較數(shù)據(jù)。

提高 ASP.NET Web API性能的技術(shù)有哪些

來源:theburningmonk

更新: 似乎It seams that StackOverflow 使用了他們號稱迄今為止最快的 JSON 序列化工具 Jil。 一測試數(shù)據(jù)可參見他們的GitHub page Jil serializer.

2)從DataReader中手動串行化JSON

我已經(jīng)在我的項(xiàng)目中使用過這種方法,并獲得了在性能上的福利。

你可以手動地從DataReader創(chuàng)建JSON字符串并避免不必要的對象創(chuàng)建,這樣你就不用從DataReader中取值并寫入對象,再從這些對象中取值并使用JSON Serializer產(chǎn)生JSON.

使用StringBuilder產(chǎn)生JSON,并在結(jié)尾處返回StringContent作為在WebAPI中響應(yīng)的內(nèi)容。

var response = Request.CreateResponse(HttpStatusCode.OK); 
response.Content = new StringContent(jsonResult, Encoding.UTF8, "application/json"); 
return response;

你可以在Rick Strahl's blog查看更多方法

3)盡可能使用其它協(xié)議格式 (protocol buffer, message pack)

如果你能給在你的工程中使用其它消息格式,如 Protocol Buffers或MessagePack 而不是使用JSON這種協(xié)議格式。

你將能給獲取到巨大的性能優(yōu)勢,不僅是因?yàn)镻rotocol Buffers 的序列化是非常快,而且比JSON在返回的結(jié)果格式化要更快。

4)實(shí)現(xiàn)壓縮

在你的ASP.NET Web API中使用GZIP 或Deflate。

對于減少響應(yīng)包的大小和響應(yīng)速度,壓縮是一種簡單而有效的方式。

這是一個非常有必要使用的功能,你可以查看更多關(guān)于壓縮的文章在我的博客ASP.NET Web API GZip compression ActionFilter with 8 lines of code.

5) 使用caching

在Web API方法中使用output caching意義深遠(yuǎn).舉例來說,如果大量用戶訪問同一個一天只改變一次的響應(yīng)(response)內(nèi)容。

如果你想實(shí)現(xiàn)手動緩存,例如把用戶口令緩存到內(nèi)存,請參看我的博文Simple way to implement caching in ASP.NET Web API.

6) 盡可能地使用典型的 ADO.NET

手動編寫的ADO.NET仍然是從數(shù)據(jù)庫中取值的最快捷的方式。如果Web API的性能對你來說真的很重要,那么就不要使用ORMs.

你可以看到最流行的ORM之間的性能比較.

提高 ASP.NET Web API性能的技術(shù)有哪些

Dapper 和hand-written fetch code 很快,果不其然,所有的ORM都比這三種慢.

帶有resultset緩存的LLBLGen很快,但它要重新遍歷一遍resultset并重新再內(nèi)存中實(shí)例化對象。

7)在 Web API 中實(shí)現(xiàn)異步方法

使用異步的 Web API 服務(wù)大幅增加 Web API 對于Http 請求的處理數(shù)量。

實(shí)現(xiàn)是簡單的,只需使用async 的關(guān)鍵字和 將你方法的返回值類型改為Task 即可。

[HttpGet] public async Task OperationAsync() 
{    
await Task.Delay(2000); 
}

8) 返回多個結(jié)果集和集合的組合

減少傳輸?shù)拇螖?shù)不僅多數(shù)據(jù)庫有好處,對于 Web API同樣 ,你才有可能使用結(jié)果集的功能。

也就是說你可以從DataReader去提取多個結(jié)果集 參見以下演示代碼:

// read the first resultset 
var reader = command.ExecuteReader(); 
  
// read the data from that resultset 
while (reader.Read()) 
{ 
  suppliers.Add(PopulateSupplierFromIDataReader( reader )); 
} 
  
// read the next resultset 
reader.NextResult(); 
  
// read the data from that second resultset 
while (reader.Read()) 
{ 
  products.Add(PopulateProductFromIDataReader( reader )); 
}

你可以在一個 Web API 的一次響應(yīng)中返回多個對象,試著將你的返回的多個對象進(jìn)行組合后返回 如下:

class AggregateResult
{
     public long MaxId { get; set; }
     public List<Folder> Folders{ get; set; }
     public List<User>  Users{ get; set; }
}

到此,關(guān)于“提高 ASP.NET Web API性能的技術(shù)有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

當(dāng)前題目:提高ASP.NETWebAPI性能的技術(shù)有哪些-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://aaarwkj.com/article32/geisc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站建設(shè)靜態(tài)網(wǎng)站、做網(wǎng)站關(guān)鍵詞優(yōu)化、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
久久这里只有精品热免费| 特黄日韩免费一区二区三区| 青青草原这里只有精品| 日本久久精品免费网站| 国产国语激情对白在线| 亚洲男人天堂日本一区| 日韩爱视频一区二区| 中文字幕日韩欧美一区在线| 久久精品国产亚洲av超一| 尤物在线观看视频播放| 欧美视频在线免费观看黄片| 美女视频黄的日本的日进去了 | 欧美黑人在线一区二区| 亚洲激情在线观看一区| 亚洲国产精品久久久久国产精品 | 日韩视频 一区 二区| av天堂久久这里只有精品美国| 人妻一少妇一区二区三区| 欧美三级欧美一级视频看| av熟女乱一区二区三区| 亚洲黄色录像一区二区人妻黑人| 成人爱爱视频免费观看| 91福利免费在线看| 午夜性色福利在线播放| 国产怡红院在线视频观看| 亚洲av色网在线观看| 日韩精品国产亚洲欧美| 欧美日韩国产看片一区二区| 亚洲免费小视频在线观看| 丰满人妻被黑人猛烈进入免费| 东京成人热av男人的天堂| 免费高清日本一区二区三区视频 | 伊人久久大香线蕉av网站| 手机在线观看av大片| 漂亮人妻少妇中文字幕| 亚洲成人福利免费网站| 日韩看片一区二区三区高清| 久亚洲精品九九久久99| 欧美精品一区二区网址| 麻豆国产av巨做国产剧情| 亚洲免费av第一区第二区 |