在上一篇博文里我提到了“监视MSSQL的小工具”。为了便于今后的学习和使用,特别做一些说明。
- 开发环境:VS2008
- 语言:C#
- 核心技术:Windows Service开发、MSSQL的SqlDependency特性、通过TCP命令发送Email
- 使用场景:在配置文件中定义SMTP服务器、数据库等相关参数;安装Windows Service,等服务启动后,所监控数据库的表新增了一条数据,即发送邮件告知。
注意:1.为数据库启动监听服务:ALTER DATABASE <DatabaseName> SET ENABLE_BROKER;
2.确保配置文件中定义的Username是该数据库的Admin角色
Q&A:
为什么使用SqlDependency?
SqlDependency是MSSQL2005之后的新特性,它与2000最大的不同是:2000 是用轮询的机制去实现的,所以不论是时效性和性能都会差一些;而2005是通过双方通讯监听机制实现的,所以在效率上有一定优势。
为什么用TCP命令发Email?
我并不是不知道可以利用System.Net.Mail下的MailMessage和SmtpClient类来实现。但是目前这个工具是在ASB域里面使用,而如果使用System.Net.Mail方式,要使用第三方SMTP服务器的话,貌似要指定userName和Password,并确保发件人的Email地址是该Host下的。(即:你的Host是:smtp.126.com;则From地址类似于:wuziteng2006@126.com而不能是wuziteng2006@163.com)
问题来了――在ASB域中,其他的SMTP服务器都不能访问,只能用ASB给我们提供的SMTP。而我们又不好劳烦用户帮我们再ASB申请邮箱~So,没有ASB的邮箱,就不能通过System.Net.Mail的方式发送Email了……
下载:
http://download.csdn.net/source/2373041