摘要: waitone()执行的效果不是我们想的。在回调函数还未执行完的时候,它可能提前执行。 阅读全文
posted @ 2014-10-01 09:33 forhells 阅读(134) 评论(0) 推荐(0)
摘要: 前面用sql ce4来做数据库,发现一个问题.在localhos:xxx下面速度很快,但是一放到iis上面,速度变慢了.每个查询要13秒.分析了好久,最后,查找了半天的资料,去掉了数据库的密码.速度快起来了. 阅读全文
posted @ 2014-03-29 15:20 forhells 阅读(203) 评论(0) 推荐(0)
摘要: 最近需要和某公司进行接口对接,发现用WebClient获取URL结尾带.的资源,会出404错误。但是用IE还有其它浏览器访问此资源,还能找到它。很神奇。于是,我百度了,找到的一堆都是说此url不规范。但是它不能解决我的问题。然后,我google之,在http://stackoverflow.com/上面,终于是找到了如此解析此问题的办法:Random seed = new Random();MethodInfo getSyntax = typeof(UriParser).GetMethod("GetSyntax", System.Reflection.BindingFlag 阅读全文
posted @ 2013-09-08 22:48 forhells 阅读(302) 评论(0) 推荐(0)
摘要: 此处的Activex是ATL方式的。[ComVisible(false)] [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("00000001-0000-0000-C000-000000000046")] internal interface IClassFactory { void CreateInstance([MarshalAs(UnmanagedType.Interface)] object pUnkOuter, ref Guid refiid, [MarshalAs(Unm 阅读全文
posted @ 2013-08-20 18:07 forhells 阅读(924) 评论(0) 推荐(0)
摘要: 需要解决三个问题,运行环境检测与安装,按顺序执行安装,activex注册。运行环境检测与安装最开始的方法,百度之后,根据网上的搜索的结果,使用了RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9A25302D-30C0-39D9-BD6F-21E6EC160475}', 'Version', version),最后的结果,我发现,跟我想的不一样,没有判断到是否已经安装了vc++9的环境,每次安装都会重复安装,最后,我发现,Uninstall中的GUID是 阅读全文
posted @ 2013-08-14 08:52 forhells 阅读(1323) 评论(0) 推荐(0)
摘要: 原来不知道自己想要什么,一般习惯于三层,而且还是bll简单化的三层,现在是越来越清晰的明白自己想要什么了。简单化的三层存在的问题:1.表驱动的,N个表,就有N*3个类。2.业务全部被放到了界面后面隐藏的类里面去了。换界面不容易。3.业务复杂的话,修改起来比较崩溃。比如说一个业务有5个表参加了,那么里面的业务代码长,复杂,表的关系也是复杂。绕来绕去头晕了。修改起来也是小心异常。原来打算使用DDD驱动,但是这个东西,首先要有业务专家,分析起来头大,水平不够就算了。所以就选用了csla.net。最后参加了几个复杂一些的项目。我发现,我只需要这样三个东西来做业务:1.业务类,应该是UI对应的类,而不是 阅读全文
posted @ 2013-05-25 11:27 forhells 阅读(171) 评论(0) 推荐(0)
摘要: 最近需要对asp的加接字符串进行加密。思考良久。想用计算机的机器存储密钥区,懒得用c++,于是用了C#做了一个,注册到平台里面,但是很悲具,老是提示,对象已存在,最后才发现,需要将用户名iuser_**给予密钥容器的访问权限。现在能做到,除非你能登录到这个系统,否则的话,你得不到密钥,你也不知道加密的连接字符串是啥。 阅读全文
posted @ 2012-07-01 19:45 forhells 阅读(221) 评论(2) 推荐(0)
摘要: 1.这两天在考虑一个问题,频繁的读写磁盘会不会对磁盘造成影响。最后看了http://www.cnblogs.com/slime/archive/2010/03/09/1681198.html此文章,明白了,我1秒有最多22个线程的读写根本不算是频繁读写。2.怎么保存一个byte[]到文本中去。3.在判断状态的时候,太多if,else经常会有漏掉状态的情况,考虑使用 职责链模式。 阅读全文
posted @ 2011-11-17 22:43 forhells 阅读(164) 评论(0) 推荐(0)
摘要: 最近在找如果让GridView有可以改变列宽的能力,找了很久,同时也要用到updatepanle,其实是自己太懒了,不注意去分析,最后终于看到有个加拿大人以此写了一个ajax的扩展控件。于是拿过来用。出了一些问题。因为他用的是ajaxtoolkit的早期版本。在.net3.5会报告说是找不到ajaxtoolkit,其实很简单,看了,ajaxtoolkit的代码,将他源码中最后注册部分的ajaxtookit变成Sys.Extended.UI,注意是GridViewResizeBehavior.js.文件。 1 /* 2 This source code was adapted from Mat. 阅读全文
posted @ 2011-07-30 23:18 forhells 阅读(1616) 评论(0) 推荐(1)
摘要: 本人愚钝,编程近六年,才明白了责任分离是啥意思。以设计模式解析(第2版)的例子来说明,强调下:假设你是一个会议上担任讲师,听课的人在课后还要去听其他课,但他们不知道下堂课的听课地点,你的责任之一,就是确保大家都知道下堂课去哪上。一般是这样做的。1.get听课人的名单2.for i=0 i< 人数 a.getnextclass //找到当前的人的下堂课是什么, b.getplace//找到地点 c.getpath //找到路线 d.givemap //设置听课人的属性现在我这样做1.get听课人的集合2.tell集合gonextclass3.集合的gonextclass for i=0 i 阅读全文
posted @ 2011-04-21 21:26 forhells 阅读(269) 评论(1) 推荐(0)