一个简单的检查事件丢失的小工具
2005-08-22 18:47
375 查看
问题起源
在开发Asp.Net程序的时候,我们经常遇到的一个问题就是事件丢失,特别是在软件要发布的时候,这个问题的发生更加严重。明显的症状就是点击按钮,链接以后,程序没有任何反应,如果一个一个的去查,非常的烦人,特别是使用了IEWebControl以后丢失情况更多。
工作环境
开发工具:Visual Studio .Net 2003, .Net Framework1.1
适用范围:检查C#, Asp.Net 程序
工作原理
事件未丢失的情况有三种:检查某个控件的事件字符串出现的次数是否为0(说明这个控件没有这个事件)或者为2(正常情况下都是2,一个声明,一个实现),还有出现3或者以上(某个事件被人工的调用过)。
事件丢失的情况有一种,某个控件的事件出现次数为1(只是有实现函数,而声明的地方丢失了,这个就是事件丢失)。
举例说明
一个按钮的声明
protected System.Web.UI.WebControls.Button Button1;
它的事件声明(在如下的函数中,如果事件丢失的话,这个函数中的代码将会减少)
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
}
事件的实现
private void Button1_Click(object sender, System.EventArgs e)
{
// Do something
}
这个工具会检测Button1的Click事件字符串(Button1_Click)会出现几次,就是工作原理中说明的情况。
待改进
工作原理:有一个漏洞,如果一个按钮的事件的实现存在,事件的声明丢失了,但是这个事件的实现被人工调用过,那么检查出的数字就是2,或者以上,结果合法,但是实际上却是丢失事件了!
报表工具:出的结果非常简陋,写Txt文件。将来的发展可以做成FxCop报告结果一样的东西XML+XSL,这个工具可以用在DailyBuild时,一并检查这个并Mail通知开发人员。
程序在我的邮箱
在开发Asp.Net程序的时候,我们经常遇到的一个问题就是事件丢失,特别是在软件要发布的时候,这个问题的发生更加严重。明显的症状就是点击按钮,链接以后,程序没有任何反应,如果一个一个的去查,非常的烦人,特别是使用了IEWebControl以后丢失情况更多。
工作环境
开发工具:Visual Studio .Net 2003, .Net Framework1.1
适用范围:检查C#, Asp.Net 程序
工作原理
事件未丢失的情况有三种:检查某个控件的事件字符串出现的次数是否为0(说明这个控件没有这个事件)或者为2(正常情况下都是2,一个声明,一个实现),还有出现3或者以上(某个事件被人工的调用过)。
事件丢失的情况有一种,某个控件的事件出现次数为1(只是有实现函数,而声明的地方丢失了,这个就是事件丢失)。
举例说明
一个按钮的声明
protected System.Web.UI.WebControls.Button Button1;
它的事件声明(在如下的函数中,如果事件丢失的话,这个函数中的代码将会减少)
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
}
事件的实现
private void Button1_Click(object sender, System.EventArgs e)
{
// Do something
}
这个工具会检测Button1的Click事件字符串(Button1_Click)会出现几次,就是工作原理中说明的情况。
待改进
工作原理:有一个漏洞,如果一个按钮的事件的实现存在,事件的声明丢失了,但是这个事件的实现被人工调用过,那么检查出的数字就是2,或者以上,结果合法,但是实际上却是丢失事件了!
报表工具:出的结果非常简陋,写Txt文件。将来的发展可以做成FxCop报告结果一样的东西XML+XSL,这个工具可以用在DailyBuild时,一并检查这个并Mail通知开发人员。
程序在我的邮箱
相关文章推荐
- 一个简单的检查事件丢失的小工具
- 小工具一个。提取默认注册事件。防止事件丢失。
- 一个简单的数据质量检查和汇总工具——Profiler
- Kibo是一个简单的用于处理键盘事件的Javascript工具库。
- Java设计模式之观察者模式的应用--简单的事件通知工具
- 一个简单的input离焦事件验证
- C#中委托和事件的一个简单实例
- 一个微软的HTML 5语法检查工具介紹好用工具Compat Inspector
- 一个简单的文件合并工具
- 自己动手写一个简单的IOC框架,使用注解绑定资源和事件
- httpstat:一个检查网站性能的 curl 统计分析工具
- 一个简单的在线 SQL Server 管理工具
- 分享一个小巧简单的基金查询工具(自己写的)
- 一个简单实例理解cocos2d-x触摸事件中的坐标系
- 一个简单的游戏开发框架(三.事件管理)
- 解决UIScrollView截获touch事件的一个极其简单有效的办法
- C#事件演示程序1)——一个最简单的C#事件处理程序
- 一个简单的在线字符处理小工具
- C#语言写微信小程序之visual studio+微信开发者工具写一个简单的微信小程序
- 简单接口测试(http/https),方法已经封装,也写了一个窗口测试工具