NHibernate初学者指南(13):监测与分析

本文介绍如何利用NHibernateProfiler监测与数据库的通信,包括下载、安装、配置及使用方法,以及其提供的独特优势,如实时可视化调试、SQL语句格式化、访问模式分析、警告反馈与最佳实践建议等。

一旦程序完成,在测试或实际的环境中运行,我们可能想或者需要监测它。有下面几种方法可以监测数据库和应用程序的通信:分析日志文件、使用SQL Server Profiler、使用NHibernate Profiler。下面让我们一一的看看它们吧。

NHibernate初学者指南(12):日志中我们已经看到了NHibernate可以产生大量的日志数据。这些数据对于分析底层发生的事情非常有用。不管你使用什么版本的Microsoft SQL Server作为数据库,都可以使用SQL Server Profiler监测数据库与程序的通信。这种方法的缺点是,profiler只挂钩在数据库级别,并不知道NHibernate。

使用NHibernate Profiler监测与分析

NHibernate Profiler是一个实时的可视化调试器,允许开发团队获取有价值的理解和深入研究NHibernate的使用。

这个profiler提供了一些其他产品没有提供的独特优势:

  • 透过NHibernate记录、监测和分析程序与数据库的通信。
  • 所有的SQL语句都是格式化好的,例如,方便复制和粘贴到SQL Server Management Studio中做更进一步的测试。
  • 分析访问模式和以警告的形式提供反馈以及当使用NHibernate时提供如何避免常见陷阱的建议和根据最佳做法提升查询。
  • 为引起数据库访问的每一个方法提供全堆栈追踪以及允许开发人员直接跳转到相关的源代码。
  • 提供各种关于数据库通信的统计数据的报告。
  • 数据库通信可以被记录以及保存用于后面的分析。

NHibernate Profiler可以点击这里下载。它有30天的试用期。

添加NHibernate Profiler支持

在这个练习中,我们下载,安装和使用NHibernate Profiler来监测由单元测试引起的与数据库通信。

1. 下载NHibernate Profiler,并解压。

2. 在解压后的文件中找到NHProf.exe并双击,会出现一个对话框,如下图所示:

3. 点击"Click here to register for a 30 days free trial"申请试用许可,许可会发送的你的邮箱。

4. 创建一个新的XML文件(如:MyLicense.xml),复制邮件中的许可证密钥粘贴到XML文件中。

5. 再次运行NHibernate Profiler,点击Browse for Your License,选择新创建的XML文件MyLicense.xml。

6. 在Visual Studio中打开Ordering System解决方案。

7. 在OrderingSystem.Tests项目中添加对HibernatingRhinos.Profiler.Appender.dll和log4net.dll程序集的引用。

8. 打开OrderingSystem.Tests项目中的MappingSpecificationBase类,在BeforeAllTests方法中的第一行添加如下代码启用NHibernate Profiler监测测试代码和数据库间的通信:

HibernatingRhinos.Profiler.Appender.NHibernate.NHibernateProfiler.Initialize();

9. 打开entity_mapping_spec类,运行测试。

10. 切换到NHibernate Profiler,定位到INSERT INTO [Product]...语句并选择它,在下面的Details选项卡中会显示出详细信息,如下图所示:

上面申请30天的许可,过了一天了也没见到回复的邮件,无奈悲伤,只好使用破解版的了眨眼,如果有需要的,可以私下里找我要!

转载于:https://www.cnblogs.com/nianming/archive/2011/11/23/2259703.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值