Miniprofiler在普通net项目中的使用
MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性能分析的轻量级程序。可以对一个页面本身,及该页面通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可以显示数据库访问的SQL(支持EF、EF CodeFirst等 )。并且以很友好的方式展现在页面上。
MiniProfiler官网:http://miniprofiler.com/
MiniProfiler的一个特别有用的功能是它与数据库框架的集成。除了.NET原生的 DbConnection类,MiniProfiler还内置了对实体框架(Entity Framework)以及LINQ to SQL、RavenDb和MongoDB的支持。任何执行的Step都会包括当时查询的次数和所花费的时间。为了检测常见的错误,如N+1反模式,profiler将检测仅有参数值存在差异的多个查询。
private class Lookup<T> : ConcurrentDictionary<object, T> { /* just for brevity */ }private static readonly Lookup<DbProviderServices> _DbProviderServicesCache = new Lookup<DbProviderServices>();private static readonly object _nullKeyPlaceholder = new object();//private static readonly ConcurrentDictionary<DbProviderServices, DbProviderServices> ProviderCache = new ConcurrentDictionary<DbProviderServices, DbProviderServices>();public static void Initialize(){try{DbConfiguration.Loaded += (_, a) =>{a.ReplaceService((DbProviderServices inner, object key) => _DbProviderServicesCache.GetOrAdd(key ?? _nullKeyPlaceholder, __ => new EFProfiledDbProviderServices(inner)));};//DbConfiguration.Loaded += (EventHandler<DbConfigurationLoadedEventArgs>)((_, a) =>// a.ReplaceService((DbProviderServices inner, object key) =>// new EFProfiledDbProviderServices(inner)));//MiniProfilerEF6.ExcludeEntityFrameworkAssemblies();}catch (SqlException ex){if (ex.Message.Contains("Invalid column name 'ContextKey'"))return;throw;}}}
Miniprofiler在普通net项目中的使用相关推荐
- canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传
使用方法 项目中引入 npm install html2canvas html代码 //html代码 js代码 // 引入html2canvas import html2canvas from 'ht ...
- android studio 自动提示jni代码,如何将JNI(C/C++本机代码)添加到现有的Android Studio项目中...
从现有项目中执行以下步骤: 1.修改build.gradle(模块应用程序)看起来像这样(很多变化!): apply plugin: 'com.android.model.application' m ...
- android使用webview上传文件,Android项目中如何在webview页面中上传文件
Android项目中如何在webview页面中上传文件 发布时间:2020-11-26 15:56:27 来源:亿速云 阅读:68 作者:Leah 本篇文章为大家展示了Android项目中如何在web ...
- java fragment_Java Web Fragment在项目中使用方法详解
Web Fragment 是什么 - 它是在 servlet 3.0开始支持的,可以把一个dy web项目拆分为多个项目,解耦合,使其在项目中开发效率提高,下面我演示简单的项目创建过程 用eclips ...
- JAVA Web项目中所出现错误及解决方式合集(不断更新中)
JAVA Web项目中所出现错误及解决方式合集 前言 一.几个或许会用到的软件下载官网 二.Eclipse的[preferences]下没有[sever]选项 三.Tomcat的安装路径找不到 四.T ...
- Android Studio 在项目中引用第三方jar包
在Android Studio项目中引用第三方jar包的方法: 步骤: 1.在build.gradle文件中添加如下代码: 备注:要添加在Android作用域下 sourceSets {main {j ...
- Database项目中关于Procedure sp_refreshsqlmodule_internal的错误
最近项目中发现一怪问题,使用DB项目发布数据库时,总提示 "(110,1): SQL72014: .Net SqlClient Data Provider: Msg 1222, Level ...
- 分享.NET开发中经常使用到的代码片段 完全从实际项目中提取出来,也可被反反复复的重复借用...
几年前,一篇<ASP.NET开发人员经常使用的三十三种代码>非常流行,它总结了一些经常在ASP.NET开发中使用到的代码,直接可以拿来使用.今天重读这篇文章,有感而发,善于总结也是进步,于 ...
- C++项目中的extern C {}
2010-07-10 19:45 by 吴秦, 92864 阅读, 22 评论, 收藏, 编辑 引言 在用C++的项目源码中,经常会不可避免的会看到下面的代码: ? 1 2 3 4 5 6 7 8 9 ...
最新文章
- react hooks使用_如何使用React和Hooks检测外部点击
- “GAN之父”:当初为了深度学习买GPU,现在后悔没多挖点比特币
- Keil恢复默认界面
- JavaScript的函数
- 用Chrome开发者工具调试一切
- 你认为手机会取代个人电脑吗?
- Java开发专业通过swot分析岗位_掌起智能科技 | 你们要的安卓岗位来了,还有JAVA,技术经理等岗位...
- Mime类型与文件后缀对照表及探测文件MIME的方法
- 认识zookeeper
- Android工程开发笔记一
- 怎么找到服务器的文档,服务器怎么找到数据库
- 软件工程学习进度第六周暨暑期学习进度之第六周汇总
- 数据结构+算法+c++学习(写在前面)
- 信用评分卡 (part 6 of 7)
- 零延时RS-485接口电路的设计与应用
- python判断文字是否是中文
- FPAG—UART串口实现与解析-黑金fpga资料解析
- Linux用户和用户组的管理-羽飞作品
- centOS7下安装配置nagios
- 盘点一道窗口函数的数据分析面试题
热门文章
- Linux系列-Red Hat5平台下的Postfix邮件服务搭建(二)
- sudo 安装 常见错误
- From 7.8 To 7.14
- 一张图看懂微软Power BI系列组件
- UVa 10061 How many zero's and how many digits?
- LeetCode:Sudoku Solver Valid Sudouku
- 安卓随机通话记录_Android 通话记录
- 从Microsoft Teams技术栈看前端技术发展趋势
- 什么是Adobe Lightroom,我需要它吗?
- 键盘忍者:使用单个热键弹出Vista日历