MiniProfiler 在今年四月發佈了 3.0 的版本,不過新版本還不太穩定,一直到了這個月所發佈的 3.1.0 這個版本才算穩定,而 3.x 與之前的版本在設定上有些差異,並不是變得比較複雜,反而是更為簡單,而且因應不同 EF 版本與不同的資料存取,在設定上會有所不同,哪些版本應該做什麼樣的設定,在 MiniProfiler 的官網上都有做說明,所以只要照著官網上的說明就可以了。
在 2014-06-14 所舉辦的 twMVC #15 研討會,我所主講的內容裡就有說明 MiniProfiler 的使用,那麼在這裡使用文字與圖片的方式做個簡單的說明。
MiniProfiler
GitHub Repository
https://github.com/MiniProfiler/dotnet
NuGet(目前版本是 3.1.0)
https://www.nuget.org/packages/MiniProfiler/
以下範例說明使用 Visual Studio 2013 Update 2, MS SQL Server Express 2012
ASP.NET MVC 5, Entity Framework 6, MiniProfile 3.1.0
Step.1
首先建立好一個使用 ASP.NET MVC 5 與 Entity Framework 6 的網站專案,不過這次並不是使用 Database First,而是使用 Code First,不管是 Database First 還是 Code First,在使用 MiniProfiler 與 MiniProfiler.EF6 都不會有差異。
Step.2
建立 CustomerController 與方法、檢視頁面,專案透過 NuGet 加入 PagedList.Mvc,
執行結果
Step.3
透過 NuGet 安裝以下的 MiniProfiler 相關套件,注意!別以為我裝錯,裝到 MiniProfiler.MVC4,因為目前並沒有 MiniProfiler.MVC5,而且也已經在說明裡提到, ASP.NET MVC 4+ (以上版本) 是要安裝該套件。
Step.4
安裝好套件之後,接下來就是對專案稍做修改,其實要修改哪些檔案、添加什麼程式碼,在官網上面都有詳盡說明,
所以只要照著做就可以,
_Layout.cshtml
Globla.asax
Web.Config
<system.webServer><handlers><add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" /></handlers></system.webServer>
執行結果
注意
安裝套件的時候務必要先搞清楚你所使用的 EntityFramework 版本,因為 MiniPrifiler.EF6 與 MiniProfiler.EF5 (EF4 也是使用這個版本) 的設定方式有蠻大的不同,以下是 MiniProfiler.EF6 的設定方式,
而以下是使用 MiniProfiler.EF5 的設定方式,
而在我之前文章有提過的「MiniProfiler.EF」則是已經不支援,所以在安裝的時候,千萬要特別注意。
以上
照著操作想說試用看看,好像有問題,我猜測兩個原因,第一是沒支持web api??另一個是SESSION的問題??
回覆刪除Hello,
刪除我的使用狀況無論是簡單的單一個專案(就像文章裡的)或者是超複雜的 Unit of Work + IoC + 分層架構,
或是使用預設的 ASP.NET MVC 專案範本( Default 有包含 WebAPI 的那個 Template)
還是簡單的 Model 層抽出,都是一樣可以使用,
因為你沒有加以描述你的專案與所碰到問題的情況,所以我無法憑借你的猜測而說明原因,
可以到 Stack Overflow 上面查詢。
.
有發生問題,也可以尋求官方的協助,而不是只有猜測
http://stackoverflow.com/questions/tagged/mvc-mini-profiler
http://community.miniprofiler.com/
.
WebApi 是可以使用的(雖然官方並無提供相關套件)
http://farm-fresh-code.blogspot.tw/2013/06/getting-miniprofiler-to-work-with.html