.net

摘要: 验证URL中GUID值是否重复的类库,防止用户直截刷URL,设计思路如下: 定义了两个队列: 当前写入队列 Hashtable writeTb 备份队列 Hashtable readTb 已经使用过的GUID值记录在writeTb,readTb列表中。 当新的GUID值上来的时候,判断writeTb,readTb队列中是否存在GUID值,如果存在,就判断为非法。 两个队列根据一定的间隔时间来轮换切读写。当readTb切换成写队列的时候。readTb中记录的GUID值全部清除。阅读全文
posted @ 2011-04-21 18:32 ITAres 阅读(617) | 评论 (2) 编辑
posted @ 2009-12-08 19:50 ITAres 阅读(4) | 评论 (0) 编辑
摘要: 前不久实现的一个简单线程池: http://www.cnblogs.com/ITAres/archive/2009/03/27/1423414.html 主是是通过记录线程的最后激活时间来判断线程是否超时。这次用WaitHandle对象来实现,感觉会合理一点。 阅读全文
posted @ 2009-08-25 17:02 ITAres 阅读(291) | 评论 (0) 编辑
摘要: 上网主要就是浏览网页,有时候网页会出现一些乱码,怎么回事?那就要了解一下网页的编码了,以下知识收集自网络。在将来不远的几年里, Unicode 将会取代 ASCII 与 Latin-1 编码的位置,成为最流行的编码了. 它不仅允许你处理处理事实上存在于地球上的任何语言文字, 而且提供了一个全面的数学与技术符号集, 因此可以简化科学信息交换. 阅读全文
posted @ 2009-05-22 00:23 ITAres 阅读(52) | 评论 (0) 编辑
摘要: 缓存实现方案: 定义两个hashtable(t1,t2)。一个读一个写(读:从client接收数据。写:数据写入数据库)。每隔N秒写一次数据库。写数据库的时候最好采用异步的方式进行,以防止线程长期占用hashtable(读). 阅读全文
posted @ 2009-05-18 21:39 ITAres 阅读(2028) | 评论 (8) 编辑
摘要: 由于最近需要用多线程处理一些问题,一开始我用了.net默认的ThreadPool,感觉不是很适合。于是我自己实现了一个简单的ThreadPool。 写的比较简单,有兴趣的朋友一起看看,共同改进。 代码主要由ThreadPoolEx,WorkItem,WorkQueue组成。 阅读全文
posted @ 2009-03-27 18:41 ITAres 阅读(2895) | 评论 (30) 编辑
摘要: 最近,身边的不少程序员抱怨NET的变化太快了,觉得跟不上变化,心情很沮丧,有的甚至有放弃编程这个行业的想法. 我这篇文章的主题是[NET 4,3,2,1其实什么也没有变],贯穿本文的例子是如何动态调用方法.本文的目的不是驳斥NET升级的无意义,只是想从一个小的技术点说明变与不变是相对的.当一个新技术出现后,了解它出现的意义,了解它的前身,了解它的后续,比盲目的追从要有用的多. 下面看例子,(注:下面的一组例子只演示了从NET1.0 到NET4.0 中动态调用方法的常用方式,在这里我们不谈性能) 阅读全文
posted @ 2009-01-08 22:59 ITAres 阅读(61) | 评论 (0) 编辑
摘要: The global.asax file setup by Visual Studio.NET gives every web application a Global class derived from HttpApplication. The class contains event handlers such as Application_Start and Session_Start. There is a tendency to think each web application will have a single instance of Global. Indeed, in most frameworks an object representing the “application” is a singleton – only one exists. Also, we know the ASP.NET runtime calls Application_Start only once when the application starts. All of t阅读全文
posted @ 2008-09-16 23:16 ITAres 阅读(1277) | 评论 (2) 编辑
摘要: 每当在堆中创建对象时,每个对象都会获得两个与它关联的附加开销字段。

第一个开销字段MethodTablePointer 包含类型的方法表的内存地址。
基本上,该指针使获得有关堆中的任何对象的类型信息成为可能。实际上,当您在内部调用 System.Object 的 GetType 方法时,该方法会按照对象的 MethodTablePointer 字段来确定该对象的类型。

第二个开销字段名为 SyncBlockIndex,它包含 SyncBlock 缓存的 32 位有符号的整数索引。阅读全文
posted @ 2008-05-10 21:48 ITAres 阅读(1981) | 评论 (10) 编辑
摘要: 由于最近需要跟同事一起讨论.net控件的生存周期,所以我整备了这些资料,拿来跟网友共享一下,如果你发现什么问题,请给我留言,谢谢!

首页我们先来简单的介绍一下.net的page请求过程。阅读全文
posted @ 2008-03-08 20:23 ITAres 阅读(406) | 评论 (3) 编辑
摘要: 上海激动通信有限公司(以下简称“激动通信”)是激动集团股份有限公司(以下简称“激动集团”)的全资子公司,公司注册资金1000万元。激动通信是一家主要从事无线增值服务的高新技术企业,公司建立激动网http://www.joy.cn,作为无线增值服务的支持平台,激动通信的目标是充分整合各种优势资源,打造全国性休闲、时尚大型娱乐服务平台,为媒体及各行业提供全面互动解决方案,在互联网和无线增值服务领域展现卓越才能,发展无线媒体的概念。阅读全文
posted @ 2008-02-28 17:24 ITAres 阅读(855) | 评论 (10) 编辑