C#中CLR线程池(Thread Pool)的使用发布于 2008年8月31日 Zheng LiC#中CLR提供了一个线程池(Thread Pool)的实现,叫做ThreadPool。CLR线程池的主要好处是: - 线程池减少了线程创建、开始和停止的次数,提高了效率。 - 使用线程池可以使得程序员不必考虑多线程编程,而将注意力集中在业务逻辑上。 也有缺点: -继续阅读
C#线程间参数传递的一种实践发布于 2008年8月30日 Zheng LiC#线程间参数传递办法挺多,这里用了一种方式。 传入参数使用ParameterizedThreadStart,传出使用委托,委托也使用ParameterizedThreadStart方式传入线程。 using System; using System.Collections.Generic; using继续阅读
C#读取数码照片Exif信息发布于 2008年8月25日 Zheng Li数码设备在生成JPG照片的时候会保存Exif信息,这些信息包含照片拍摄的一些参数,包括从拍摄时间到拍摄设备、曝光参数等等很多信息。 C#中从文件打开图像文件的时候,可以取得PropertyItem数组,里面记录了Exif参数的Dictionary。 Image img =继续阅读
C#批量压缩图片(BMP/PNG/JPG)发布于 2008年8月25日 Zheng Li程序员懒吧?呵呵。 只要能找到一个好用的,我是绝对不会自己写一个出来的。因为WordPress的图库插件NextGEN Gallery破算法不能压缩太大的文件,PHP执行内存不足,同样的照片跑在同一环境下的Gallery2处理起来很轻松,还能一下执行N张呢...继续阅读
C#跨线程操作控件的线程安全方法发布于 2008年8月25日 Zheng Li在C#中,经常用到这样一个场景,Windows Form程序启动一个工作者线程执行一部分工作,这样做是为了避免速度慢的工作如果直接调用会使得主Form停止响应一段时间。继续阅读
C#获取用户桌面等特殊系统路径发布于 2008年8月25日 Zheng Li不同的操作系统,桌面的路径不尽相同,而且随着用户安装位置的不同也不同。 C#可以从Windows注册表读取得到用户的特殊文件夹(桌面、收藏夹等等)的位置。 代码如下: using Microsoft.Win32; namespace JPGCompact { public partial class MainForm继续阅读
C#使用自定义事件发布于 2008年8月23日 Zheng LiSMS.cs,一个订阅者 using System; using System.Collections.Generic; using System.Text; namespace EventExample { class SMS { public void OnNewMail(object sender,继续阅读
CommunicationException与XML返回值大小限制(81,920 bytes)发布于 2008年7月30日 Zheng Li环境说明 我们项目中使用了一个Web Service,返回List对象,在SOAP中即构成了XML格式字符串返回客户端。 客户端使用WebServiceSoapClient类调用Web Methods。 使用的开发环境是Visual Studio 2008,.NET Framework 3.0,部署在Windows继续阅读