ASP.NET Core在WebApi項目中使用MiniProfiler分析Entity Framework Core
安裝配置MiniProfiler
在現(xiàn)有的ASP.NET Core MVC WebApi 項目里,通過Nuget安裝MiniProfiler
:
Install-Package MiniProfiler.AspNetCore.Mvc MiniProfiler.EntityFrameworkCore
當然也可以通過Nuget Package Manager
可視化工具安裝
接下來就是如何配置和使用 MiniProfiler 了,總共分三步:
第一步,來到Startup.cs
的ConfigureServices
方法里,添加services.AddMiniProfiler();
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext<DataContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DataContext"))); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); // 首先添加一個配置選項,用于訪問分析結(jié)果: services.AddMiniProfiler(options => { // 設(shè)定彈出窗口的位置是左下角 options.PopupRenderPosition = RenderPosition.BottomLeft; // 設(shè)定在彈出的明細窗口里會顯式Time With Children這列 options.PopupShowTimeWithChildren = true; // 設(shè)定訪問分析結(jié)果URL的路由基地址 options.RouteBasePath = "/profiler"; }) // 然后在之前的配置后邊加上AddEntityFramework(): .AddEntityFramework(); }
第二步,來到來到Startup.cs
的Configure
方法里,添加app.UseMiniProfiler();
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env) { ... // 最重要的一點是就是配置中間件在管道中的位置,一定要把它放在UseMvc()方法之前。 app.UseMiniProfiler(); app.UseMvc(); }
第三步、運行程序,一共有3個可查看分析結(jié)果相關(guān)的URL地址:
1./profiler/results-index
- 先看results-index頁面:
它表示每次調(diào)用API的記錄結(jié)果。可以看到本次調(diào)用API的總時間為1578.4毫秒。
2./profiler/results
- 從result-index頁面點擊鏈接進入這次API調(diào)用的詳細結(jié)果頁面,也就是result頁面:
它表示每次調(diào)用API的過程分析結(jié)果,具體到每一條SQL語句的內(nèi)容和執(zhí)行時間。
3./profiler/results-list
- 再看result-list頁面:
它其實就表示每個API的所有調(diào)用記錄結(jié)果的集合。
案例源碼:
到此這篇關(guān)于ASP.NET Core在WebApi項目中使用MiniProfiler分析Entity Framework Core的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Entity Framework Core使用控制臺程序生成數(shù)據(jù)庫表
- Entity Framework Core延遲加載(懶加載)用法
- Entity?Framework?Core實現(xiàn)Like查詢詳解
- Entity Framework Core中執(zhí)行SQL語句和存儲過程的方法介紹
- Entity Framework Core批處理SQL語句
- Entity Framework Core實現(xiàn)軟刪除與查詢過濾器
- Entity Framework Core生成列并跟蹤列記錄
- Entity Framework Core工具使用命令行
- Entity?Framework?Core關(guān)聯(lián)刪除
- 詳解如何在ASP.NET Core中應用Entity Framework
- Entity Framework Core對Web項目生成數(shù)據(jù)庫表
相關(guān)文章
ASP.NET中基于soaphead的webservice安全機制
常會用到WebService來通訊,但WebService發(fā)布后為了能調(diào)用,一般都通過發(fā)布到IIS后調(diào)用 的。在IIS里可以通過匿名訪問,但這樣大家都可能訪問,不安全,下面提供一種基于soaphead的安全機制。2016-05-05如何傳值在2個頁面之間 要求不刷新父頁面,并且不能用Querystring傳值
通過Cookie,因為它既可以在服務(wù)器端對其進行操作,也可在客戶端對其進行操作但是缺點是不安全,而且有時客戶端會由于安全問題禁用Cookie!2008-12-12.Net連接Oracle數(shù)據(jù)庫的實現(xiàn)代碼
本文使用System.Data.OracleClient方式,這是MS提供的以ADO.NET方式訪問Oracel的驅(qū)動;Oracle也有個Oracle Data Provider for .NET(ODP.NET)下篇再討論。2009-02-02解決.net framework 4.0環(huán)境下遇到版本不同編譯不通過的方法詳解
本篇文章是對.net framework 4.0環(huán)境下遇到版本不同編譯不通過的解決方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05