上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页
摘要: 上一篇文章 "无侵入方面编程-用HttpModule+SoapExtension监视页面执行参数(一)"中,我们实现了监视每个页面的执行情况和调用WebService的简单信息。 这次我们继续深入一下SoapExtension的应用,在不改变Soap的WSDL文档的情况下,配合在Dotnet编写的WebService站点配置我们编写的SoapExtension,来穿透传输我们自定义的数据对象。由于SoapExtension是全局的,我们还要加一些标识来区分服务器是否已经配置了我们的SoapExtension,从而不影响其它的WebService调用。 在SoapExtension中,我想到有两种方案: 一种是直接在SoapMessage.Headers中插入自定义的SoapHeader对象,然后在客户端的序列化后,从SoapUnknownHeader中取出数据,然后反序列化成自定义的对象。 第二种是对SoapMessage.ContentType 添加一个额外的标识,在另一方检测这个标识,来从流中取出自己长度的数据。反序列化成自定 阅读全文
posted @ 2009-06-01 18:00 阿牛 阅读(1644) 评论(2) 推荐(0) 编辑
摘要: 先简单介绍一下项目吧,我们这个项目是用VS2003开发的,老早一个项目。WEB前端机+业务处理(WebService层)+数据库分别布置在不同的计算机上。 现在老总有一个需求,要统计出每个页面的执行时间,以及每次调用过哪些WebService方法,调用的时间等参数。 可行的方案有好多,但我感觉使用HttpModule+SoapExtension,可以不在改变目标系统源码的基础上,完成这项工作。也许有一天,老总说,现在不需要再统计了,我就直接配置一下,不再统计就行了。 由于要调用WebService,我们采用编写一个SoapExtension,在它的ProcessMessage函数中,在message.Stage是 BeforeSerialize 时,记一个开始时间,并采集一些数据,在message.Stage==AfterDeserialize时,再采集一些时间等数据。最后通过HttpContext.Current.Items[WSInvokeMonitorKey]获取HttpModule的对象,把采集到的数据放在HttpModule里 阅读全文
posted @ 2009-05-22 10:51 阿牛 阅读(2524) 评论(6) 推荐(0) 编辑
摘要: 在网速慢或者网站反应慢的情况下,如果提交表单需要超过5秒的时间还未提交成功,多数人会重新点击提交。这样不仅造成错误的数据,还会加剧服务器的压力。 通过使用HttpModule,我们可以在表单处理前,检测一些标志,从而防止用户重复提交数据,再通过一些接口,让用户自己来处理重复提交时,应该如何告诉用户。 通过使用HttpModule,我们也可以在客户端表单提交时,使用DIV覆盖住表单,从UI层防止用户再次单击提交(用户直接F5管不了)。 下面是实现代码: 阅读全文
posted @ 2009-05-21 17:41 阿牛 阅读(4591) 评论(20) 推荐(0) 编辑
摘要: 一个类似QQ的分组菜单 支持初始化时自动打开指定的菜单项 IE下测试通过. 阅读全文
posted @ 2009-04-22 17:52 阿牛 阅读(1219) 评论(3) 推荐(0) 编辑
摘要: 接触到一个老的项目,里面大量使用OleDbConnection进行数据库操作,在执行SQL块语句时,对它的顺序参数、命名参数很不了解。据说不能使用命名参数,但我这里试验了一下,好像是可以的,只是对参数的顺序还是有要求。看看你能知道下面的输出结果吗? 测试环境:OleDbConnection+Oracle10G 阅读全文
posted @ 2009-04-02 10:08 阿牛 阅读(4191) 评论(11) 推荐(0) 编辑
摘要: 一个数据缓存,一般由数据来源,缓存方案,缓存读取来完成,现在有了匿名函数,可以把获取数据来源变为匿名函数。这样就可以直接声明一个缓存: protected static CacheManager companyCache = new CacheManager(new SmsDatabaseCache(), (key) = { return SmsDatabase.Instance.Context.Company.Where(c = c.ShortNumber == (string)key).SingleOrDefault(); }); SmsDatabaseCache是一个缓存方案,还可以使用SimpleCache,TimeoutCache等实现了ICache接口的类,因为我的ICacheManager从ICache继承,所以还可以实现级连缓存哟 阅读全文
posted @ 2009-03-19 00:57 阿牛 阅读(3597) 评论(2) 推荐(0) 编辑
摘要: 有朋友说加载这样的XML失败,我试了一下。 阅读全文
posted @ 2009-03-11 15:06 阿牛 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 昨天申请了中国银行的网上银行,发过来一个E-Token,刚开始还以为要插到电脑上,到单位一用才知道,原来是动态密码生成器,直接输入显示的密码就行了。 可是,这个东西,不会和服务器有通讯吧?仔细想了一下,感觉应该是一组算法,应该和时间同步。只是时间差距差几分钟,会很正常的吧?于是我依次把它生成的密码记下来,然后过几分钟后,再输入几分钟前的密码。试验证明4分钟前是可以的,也就是时间差差... 阅读全文
posted @ 2009-03-11 08:20 阿牛 阅读(3984) 评论(7) 推荐(0) 编辑
摘要: 在执行SQL语句时,有时我们必须使用Like语句,还需要动态依条件拼出SQL然后执行。此时你可以会因为一点点麻烦而拒绝使用参数化SQL,其实一点也不麻烦。 阅读全文
posted @ 2009-03-03 12:39 阿牛 阅读(797) 评论(0) 推荐(0) 编辑
摘要: AppDomain.CurrentDomain.SetupInformation.ConfigurationFile 阅读全文
posted @ 2009-03-03 10:28 阿牛 阅读(538) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页