.NET MVC在使用EntityFramework 6.0(EF6.0)访问数据库的时候的确非常的方便,但是要查看具体访问数据库生成的SQL,分析页面执行SQL的效率的时候是特别的不方便。
今天就分享一下使用MiniProfiler分析.NET MVC页面性能和SQL,查看API方法生成的SQL。
打开VS“工具”->“NuGet包管理器”->“管理解决方案的NuGet资源包(N)...”,如图所示:
然后在输入框中分别安装MiniProfiler、MiniProfiler.EF6、MiniProfiler.MVC4到你的Web项目和API所在项目,如下图所示:
打开Global.asax文件,在Application_BeginRequest和Application_EndRequest加入MiniProfiler的代码,如下所示:
protected override void Application_BeginRequest(object sender, EventArgs e) { base.Application_BeginRequest(sender, e); MiniProfiler.Start(); } protected override void Application_EndRequest(object sender, EventArgs e) { base.Application_EndRequest(sender, e); MiniProfiler.Stop(); }
在你页面的Layout母版页的最后加上如下代码
@MiniProfiler.RenderIncludes()
这时候运行你的站点,打开页面里就可以MiniProfiler相关的信息,如下图所示:
如果没有显示出如图所示信息,并且报错mini-profiler-resources/results 404 not found,你需要在web.config中添加如下代码:
<add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />
添加位置,如图所示:
但是这时还没有看到SQL信息,不要急,还需要加一段代码,你还需要在你的Application_Start()方法中加如下代码:
MiniProfilerEF6.Initialize();
加上后的效果如下所示:
如上图标记所示,就是执行的SQL,点击即可显示出对应的SQL语句。
以上就是使用MiniProfiler监控.NET MVC 站点性能和SQL的操作。