随笔分类 - C#
摘要:控制一个线程的执行状态一般有两种方法: 1.定义一个执行状态或者一个执行ID; 2.ThreadAbort个人比较习惯用第一种,这样可以保证退出时线程是执行完毕的,能保证业务的完整,几乎不用ThreadAbort。今天改公司的调度器需要用到ThreadAbort,要在Abort之后能通知到被调度者,因此打算是在ThreadAbortException异常中通知。但实现一大半之后才发现,要是被调度者自行catch了ThreadAbortException我就拿不到了,这样我的Abort处理流程是无法触发的,因为时间紧,所以先完成了这个不完美的实现。为了测试问题,我也实现了一个自行catch ..
阅读全文
摘要:最近和IBM在重新做公司的平台,其中涉及多租户问题,之前处理多租户数据隔离时考虑很简单,直接把权限关键字作为每个方法的参数传递给DAO。带来的问题是在编码过程中有部分同事经常会忘记添加,维护也有些麻烦,这次就想着将这个问题给处理掉。IBM给了一个方案,可以将权限关键字写入当前执行线程中,在DAO中再从线程中取出来,但这样限定了UI层跟DAO都只能使用同一个线程,虽然暂时不会有UI层跟DAO线程不一样的情况,但总感觉有些不舒服。之前也一直在考虑是否可以通过一个公共方法来调用DAO,在公共方法中设置权限关键字,但都没有仔细的去想,今天在整理文档时突然想到用泛型不就能完美的解决这个问题么,于是就小实
阅读全文
摘要:问问题的太多了,我一个人回答起来实在精力有限,搞了个QQ群,有问题的来这里问吧,大家也可以分享下订票心得什么的。QQ群:1661459错误说明1.出现下图中错误请安装12306的根证书。2012-1-12 v1.11.修正更新提示可能会被挡住的BUG;2.部分BUG修复;3.功能基本完善完毕,版本号升级为1.1。2012-1-11 20:471.加入常用联系人信息读取;2.更新车站选择下拉控件;3.加入一次购入多张票的逻辑,并可选择常用联系人信息快速填写;4.更改菜单项;5.修复选择在IE中打开新窗口无效的BUG,另外选择挪到左下角。2012-1-11 13:461.修复添加常用联系人乱码问题
阅读全文
摘要:每到年关,火车票总是一票难求,去年差点没买到票回家,看到赶集、58等上有转让票,大喜,遂掏出手机呼叫之,可结果都是已转让。想想原因皆是看到的不及时,被别人捷足先登了。哥们是干什么的,居然从我嘴里抢食,越想越气,便做一工具,实时在赶集上监控着,有新出售票就提醒,几天下来,一张D字头的到手。。。闲扯了几句,下面进入正题。开发这一工具大概思路就是从网页上获取HTML,然后用正则匹配之,匹配出有新数据数据时加入到网格中显示,另外不可能实时盯着这个工具看,必须在有新信息时有提醒,于是我便加了一个声音提醒,一小时内的新信息都加声音提醒。这里遇到两个问题,一是如何从网页上抓取HTML,二是正则匹配问题。关于
阅读全文
摘要:C#中实现POST的方法很多,常用的是WebBrowser、WebClient、HttpWebRequest和HttpWebResponse。1、WebBrowser基本是在DocumentCompleted中分析HtmlDocument ;2、WebClient是对HttpWebRequest和HttpWebResponse的封装,用起来更方便,但是灵活性还是不及HttpWebRequest和HttpWebResponse;3、HttpWebRequest和HttpWebResponse更底层,灵活度更好,不过代码更多,我做了一个简单的封装,将GET改成分段读取,并加入代理、进度条和错误重试
阅读全文