国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

如何在 ASP.Net Core 中使用 MiniProfiler

開發 前端
MiniProfiler 可用在 Asp.Net 和 ASP.Net Core 中,這篇文章將會討論如何使用 MiniProfiler,并通過它找到應用程序的性能問題。

 [[380275]]

本文轉載自微信公眾號「碼農讀書」,作者碼農讀書 。轉載本文請聯系碼農讀書公眾號。

web應用程序的性能相信是大家普遍關心的一個問題,也相信大家有很多工具可用來分析應用程序的性能并能夠找到其中的瓶頸,MiniProfiler 就是這個領域中的一款產品,它是一款簡單的,功能強大的web應用分析工具,MiniProfiler 可用來幫助我們找到 慢查詢, 慢響應 等問題。

MiniProfiler 可用在 Asp.Net 和 ASP.Net Core 中,這篇文章將會討論如何使用 MiniProfiler,并通過它找到應用程序的性能問題。

安裝 MiniProfiler

要想使用 MiniProfiler,需要通過 nuget 引用 MiniProfiler.AspNetCore.Mvc 包,可以通過 Visual Studio 2019 的 NuGet package manager 可視化界面安裝 或者 通過 NuGet package manager 命令行工具輸入以下命令:

  1. dotnet add package MiniProfiler.AspNetCore.Mvc 

安裝好之后,接下來就要將 MiniProfiler 注入到 ServiceCollection 容器中,如下代碼所示:

  1. // This method gets called by the runtime. Use this method to add services to the container. 
  2.        public void ConfigureServices(IServiceCollection services) 
  3.        { 
  4.            services.AddControllersWithViews(); 
  5.  
  6.            services.AddMiniProfiler(options => options.RouteBasePath = "/profiler"); 
  7.        } 

注入好之后,接下來就需要使用 UseMiniProfiler 擴展方法將其注入到 Request Pipeline 管道中,如下代碼所示:

  1. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) 
  2.         { 
  3.             app.UseMiniProfiler(); 
  4.  
  5.             app.UseEndpoints(endpoints => 
  6.             { 
  7.                 endpoints.MapControllerRoute( 
  8.                     name"default"
  9.                     pattern: "{controller=Home}/{action=Index}/{id?}"); 
  10.             }); 
  11.         } 

然后在 _Layout.cshtml 頁面中增加如下兩行命令。

  1. @using StackExchange.Profiling 
  2. @addTagHelper *, MiniProfiler.AspNetCore.Mvc 

最后需要在 WebPage 中指定 MiniProfiler 分析窗口應該顯示的位置,那如何做呢?在 body 標簽內使用 mini-profiler 標記,如下代碼所示:

  1. <mini-profiler position="@RenderPosition.Right" max-traces="5" /> 

在 ASP.Net Core MVC 中使用 MiniProfiler

MiniProfiler 會提供 頁面加載時間 和 數據庫查詢性能指標,接下來把程序跑起來,你會看到如下的性能指標圖。

有些朋友可能就要問了,大體時間我是知道了,那如果我只想獲取某一指定代碼塊的執行時間呢?當然也是可以的,下面的代碼展示了如何去實現。

  1. public class HomeController : Controller 
  2.     { 
  3.         ILogger<HomeController> logger; 
  4.  
  5.         public HomeController(ILogger<HomeController> logger) 
  6.         { 
  7.             this.logger = logger; 
  8.         } 
  9.  
  10.         public IActionResult Index() 
  11.         { 
  12.             var miniProfiler = MiniProfiler.Current
  13.             List<Author> authors = new List<Author>(); 
  14.  
  15.             miniProfiler.RenderIncludes(this.HttpContext); 
  16.  
  17.             using (miniProfiler.Step("Get Authors")) 
  18.             { 
  19.                 authors.Add(new Author() { Id = 1, FirstName = "Joydip", LastName = "Kanjilal", Address = "Hyderabad, India" }); 
  20.                 authors.Add(new Author() { Id = 2, FirstName = "Stephen", LastName = "Smith", Address = "NY, USA" }); 
  21.                 authors.Add(new Author() { Id = 3, FirstName = "Anand", LastName = "Narayanan", Address = "Chennai, India" }); 
  22.                 authors.Add(new Author() { Id = 4, FirstName = "Steve", LastName = "Jones", Address = "London, UK" }); 
  23.             } 
  24.             return View(authors); 
  25.         } 
  26.     } 
  27.  
  28.     public class Author 
  29.     { 
  30.         public int Id { get; set; } 
  31.         public string FirstName { get; set; } 
  32.         public string LastName { get; set; } 
  33.         public string Address { get; set; } 
  34.     } 

從上面的代碼中可以看到,我用 using (miniProfiler.Step("Get Authors")) 做了語句塊標記,理論上 mini-profile 窗口上應該有類似 Get Authors 指標欄,接下來把程序跑起來,一起來看看效果。

除了順向操作,你也可以指定讓某些代碼塊不要顯示在 mini-profile 中,需要做的是調用 Ignore() 即可,如下代碼所示:

  1. using (MiniProfiler.Current.Ignore()) 
  2.   // Write code here that you don't 
  3.   // want MiniProfiler to profile 

使用 MiniProfile 分析 ADO.NET 查詢

除了做一些常規的頁面分析,還可以直接對 ADO.NET 查詢性能進行分析,這就????了,要這么做的話,需要使用 ProfileDbConnection 和 ProfileDbCommand 即可,如下代碼所示:

  1. public IActionResult Index() 
  2.        { 
  3.            using (SqlConnection connection = new SqlConnection(@"Data Source=.; Initial Catalog=PYZ_L; Trusted_Connection=Yes")) 
  4.            { 
  5.                using (ProfiledDbConnection profiledDbConnection = new ProfiledDbConnection(connection, MiniProfiler.Current)) 
  6.                { 
  7.                    if (profiledDbConnection.State != System.Data.ConnectionState.Open
  8.                    { 
  9.                        profiledDbConnection.Open(); 
  10.                    } 
  11.  
  12.                    using (SqlCommand command = new SqlCommand("Select * From Clothes"connection)) 
  13.                    { 
  14.                        using (ProfiledDbCommand profiledDbCommand = new ProfiledDbCommand(command, connection, MiniProfiler.Current)) 
  15.                        { 
  16.                            var data = profiledDbCommand.ExecuteReader(); 
  17.                            //Write code here to populate the list of Authors 
  18.                        } 
  19.                    } 
  20.                } 
  21.            } 
  22.  
  23.            return View(); 
  24.        } 

從上圖可以看到,確實對 ADO.NET 查詢有著清晰的分析,相信在幫助大家分析問題時很有幫助。

MiniProfiler 是一個可應用于 .NET, Ruby, Go 和 Node.js 的性能分析工具,你可以使用 MiniProfiler 去分析 Dapper,Linq2SQL,Entity Framework 所使用的sql的查詢性能,此外 MimiProfile 之所以 Mini,意味著它介入到你的應用程序中所帶來的性能開銷微乎其微,所以大家可放心的丟到生產上去吧!

譯文鏈接:https://www.infoworld.com/article/3330560/how-to-use-miniprofiler-in-aspnet-core.html

 

責任編輯:武曉燕 來源: 碼農讀書
相關推薦

2021-03-17 09:45:31

LazyCacheWindows

2021-02-02 16:19:08

Serilog日志框架

2021-02-06 21:40:13

SignalR通訊TypeScript

2021-02-28 20:56:37

NCache緩存框架

2021-01-28 22:39:35

LoggerMessa開源框架

2021-01-07 07:39:07

工具接口 Swagger

2021-03-10 09:40:43

LamarASP容器

2021-03-03 22:37:16

MediatR中介者模式

2021-01-31 22:56:50

FromServiceASP

2021-02-07 17:29:04

監視文件接口

2024-09-10 08:13:16

Asp項目輕量級

2021-06-22 16:59:56

微軟.NETC# 軟件開發

2021-04-12 07:03:10

輕量級模塊化框架

2021-01-26 14:57:00

中間件應用模塊化

2021-01-04 05:44:54

框架日志

2022-08-01 08:00:00

開發工具跟蹤偵聽器

2017-10-20 08:52:11

內存緩存并發模式Linux

2009-02-05 14:02:46

SmtpMail發送郵件ASP.NET

2021-04-14 07:35:12

Json格式化日期

2021-11-01 14:52:38

ElasticSear索引SQL
點贊
收藏

51CTO技術棧公眾號

av在线这里只有精品| 国产精品欧美激情在线观看| 精品福利视频导航大全| 香蕉成人av| 自拍偷拍亚洲激情| 日韩欧美一区二区三区四区| 亚洲尤物av| 最近2019中文字幕一页二页| 欧美一区二区三区| 亚洲欧美激情小说另类| 久久久久久免费看| 久久福利一区| 国产精品久久久久久久久久久新郎 | 日韩免费精品| 日韩精品免费看| 精产国品自在线www| 狠狠色噜噜狠狠狠狠97| 中文无码久久精品| 国产一区二区三区在线免费观看 | 91精品国产综合久久久久久久 | av片在线观看免费| 一个色在线综合| 蜜臀视频一区二区三区| 国产成人综合在线观看| 亚洲视频小说| 日本不卡123| 日产国产精品精品a∨| 伊人成人在线视频| 1卡2卡3卡精品视频| 91久久电影| 91免费电影网站| 99国产**精品****| 国产自产女人91一区在线观看| 欧美黄色网视频| 午夜精品久久久久久久99热| 国产厕拍一区| 欧美整片在线观看| 亚洲+变态+欧美+另类+精品| 日韩欧美综合| 韩日欧美一区二区| 97人人爽人人澡人人精品| 国产精品不卡在线观看| 26uuu亚洲伊人春色| 337p亚洲精品色噜噜狠狠p| 亚洲精品中文字幕| 国产亚洲精品aa午夜观看| 91欧美视频网站| 666av成人影院在线观看| 韩国欧美国产1区| 高清一区二区三区日本久| 熟女视频一区二区三区| 激情欧美一区二区三区黑长吊| 26uuu国产一区二区三区| 日产日韩在线亚洲欧美| 九七影院理伦片| 亚洲国产精品嫩草影院久久av| 亚洲第五色综合网| 日韩高清三级| 亚洲欧洲高清| 青青青爽久久午夜综合久久午夜| 色欧美片视频在线观看在线视频| 人九九综合九九宗合| 亚洲精品高清无码视频| 深夜激情久久| 国产喂奶挤奶一区二区三区| 91精品久久久久久久久久久| 男人的天堂久久精品| 激情视频亚洲| 日本成人伦理电影| 国产不卡视频在线| 日韩中文字幕在线一区| 国产精品女上位| 一区二区冒白浆视频| 伊人成人在线视频| 久久久一本二本三本| 在线亚洲国产精品网| 国精品一区二区三区| 午夜欧美性电影| 久久国产精品第一页| 很黄很a的视频| 欧美另类一区二区三区| 精品国产99久久久久久| 欧美日韩国产美女| 肉肉视频在线观看| 欧美日韩国产高清一区二区三区 | 国产suv精品一区二区四区视频| 精品国产乱子伦一区| 丁香婷婷自拍| 亚洲精品一二三区| 欧美日韩一区二区三区免费| av成人免费在线观看| 一区二区三区四区欧美| av一区二区高清| 久久久久久久久网| 中文字幕一区视频| 国产精品裸体瑜伽视频| 欧美天天综合色影久久精品| 综合激情网...| 国产一区二区三区小说| 日韩激情视频在线播放| 亚洲天堂免费| 青青青草原在线| 九9re精品视频在线观看re6| 欧美性受xxxx| 久久精品噜噜噜成人av农村| 欧美色片在线观看| 国内外成人免费在线视频| 欧美大片va欧美在线播放| 99精品视频在线播放观看| segui88久久综合9999| 亚洲最大福利网站| 91久久精品网| 成人av在线影院| 丝袜连裤袜欧美激情日韩| 成年人在线看| 午夜精品美女久久久久av福利 | 成人的网站免费观看| 蜜桃av.网站在线观看| aa在线观看视频| 懂色中文一区二区三区在线视频| 欧美精品tushy高清| 国精品**一区二区三区在线蜜桃| 成人午夜视屏| 少妇一级淫免费放| 亚洲香蕉成视频在线观看| 一区二区三区在线影院| 久久亚洲专区| 91麻豆一二三四在线| 久久9精品区-无套内射无码| 久久久久久国产精品三级玉女聊斋 | 99re国产在线播放| 日韩中文视频免费在线观看| 欧美视频一区二区三区| 亚洲欧美另类久久久精品2019| 国产日韩一区二区三区在线| 亚洲欧美tv| 欧美一区=区三区| 中文字幕在线资源| 国产黄色影视| 日韩精品一区二区三区色欲av| 成人免费网站在线看| 欧美激情视频一区二区三区不卡| 日韩视频免费观看高清完整版在线观看| 日韩一区中文字幕| 久久久精品2019中文字幕之3| 在线成人欧美| 久久久久久久欧美精品| 99香蕉国产精品偷在线观看 | 国产制服91一区二区三区制服| 奇米888一区二区三区| 国产区一区二区三区| 国产精品一区二区av| 成人av资源在线播放| 亚洲自拍小视频| 99在线免费视频观看| 欧美激情综合色综合啪啪五月| 日韩福利电影在线观看| 91精品国产一区二区在线观看 | 久久久精品国产网站| 国产精品美女久久久久aⅴ国产馆| 99在线精品视频在线观看| 国产一区二区三区探花| 日韩一级视频| 成人av在线播放| 日日夜夜亚洲精品| 国产精品99| 极品美女一区| 欧洲一级精品| 狼人天天伊人久久| 日韩精品成人在线观看| 动漫一区二区三区| 9765激情中文在线| 欧美理论片在线播放| 97人澡人人添人人爽欧美| 亚洲男女网站| 激情综合网站| 欧美一区二区三区在线免费观看| 欧美精品video| 亚洲字幕一区二区| 椎名由奈jux491在线播放| 一区二区在线播放视频| 情趣视频网站在线免费观看| 免费在线性爱视频| 亚洲天堂av资源在线观看| 91成人超碰| 国内不卡的二区三区中文字幕| 国产精品日韩精品欧美在线| 欧美专区在线观看一区| 亚洲精品中文字幕女同| 97视频在线观看免费高清完整版在线观看| 全球成人中文在线| 色视频一区二区三区| 国产三级免费观看| 免费视频观看成人| 久久国产三级精品| 欧美日韩激情视频| 欧美精品久久一区二区三区| 欧美裸身视频免费观看| 青青草综合在线| 亚洲第一区视频|