C#实现文件夹监视
说明:测试过程中发现当复制一个文件到监视文件夹时会引发一次Created事件和多次的Changed事件!
说明:测试过程中发现当复制一个文件到监视文件夹时会引发一次Created事件和多次的Changed事件!
FastZip类增加两个函数: 使用示例: SharpZipLib源码下载:http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx
SharpZipLib是一个使用C#编写的Zip操作类库,在VB.NET、C#或其他的.NET语言中都可以使用它创建Zip文件、并进行读取和更新等操作。SharpZipLib目前的版本为0.85,下边通过几个例子来说明它的使用(使用前需引用命名空间ICSharpCode.SharpZipLib.Zip)。 1.创建zip文件 2.创建zip文件,只能压缩文件夹 3.添加一个文件到zip文件中 4.列出zip文件中所有的文件 5.删除zip文件中的一个文件 6.解压zip文件中所有文件 注意:SharpZipLib只能解压zip格式文件,若解压rar文件,将出错:Cannot find central directory。…
测试文件夹: ·E:\001 包含一些手机主题和图片文件,共44.7M ·E:\002 包含一些文本文件和图片文件,共313M 测试代码: 测试结果: E:\001压缩比较 DotNetZip:平均时间11s,zip文件大小44.4M; SharpZipLib:平均时间7s,zip文件大小44.3M; WinZip:平均时间5s,zip文件大小44.3M; E:\002压缩比较 DotNetZip:平均时间47s,zip文件大小32M; SharpZipLib:平均时间37s,zip文件大小30.9M; WinZip:平均时间18s,zip文件大小32.2M; 测试结论: 总体来说,三者生成的zip文件大小都差不多,DotNetZip平均使用的时间最多,SharpZipLib其次,WinZip最少,压缩的文件越大越明显。
DotNetZip是一个Zip操作类库,它非常小,但也非常容易使用。在VB.NET、C#或其他的.NET语言中引用它后就可以非常容易的对Zip文件进行创建、读取或更新等操作。DotNetZip目前的版本为1.7,下边用几个例子来说明它的使用(使用前需引用命名空间Ionic.Zip)。 1.创建/更新压缩文件,zip文件存在则更新,不存在则创建 2.列出zip文件中所有的文件 3.从zip文件中删除一个文件,注意无法直接删除一个文件夹 4.从zip文件中解压出一个文件 5.从zip文件中解压全部文件 DotNetZip 1.7(dll)下载:http://www.mzwu.com/pic/200902/Ionic.Zip.rar…
在VS2008中,我们可以对类的属性和方法创建单元测试以验证代码的正确性,测试过程不复杂,我们用实例来说明。 假如有一个类Own,我们期望对其Join方法进行单元测试以验证代码的正确性,类代码如下: OK,在Join方法体上点击鼠标右键,选择"创建单元测试...",将弹出创建单元测试对话框,直接点击确定按钮后VS2008将自动创建好单元测试类OwnTest(有删改): 可以看到,单元测试类OwnTest的类名和其方法都和原先的Own类非常相像。我们稍做下修改,设置下传入的参数值,并设置一个期望的返回值: 在JoinTest方法体上点击右键,选择"运行测试",过一会在测试结果窗口中我们即可看到测试的结果。…
实体类Student: 注意:必须使用DataContractAttribute对类进行标记,使用DataMemberAttribute类成员进行标记,否则该类无法被序列化。 对象转为JSON字符串 JSON字符串转为对象 注:.NET Framework 3.5下才可用DataContractJsonSerializer!
Default.aspx: Default.aspx.cs:
当我们将一个DateTime类型的数据保存到数据库中再读取出来时,都成了Object类型,出于需要我们还要将其还原成DateTime类型,示例: 输出time1的Millisecond看下,结果为0!为了验证下是不是DateTime.Parse的原因,又做了下测试: time2和time3的Millisecond都为100,这就排除了DateTime.Parse的原因,那便是Object对象的ToString方法的问题了,再做个测试: time4的Millisecond为100,所以Object转DateTime正确的方式应使用Convert.ToDateTime!
IHttpHandler接口实现类OwnHttpHandler: 使用非常简单,只需在配置文件web.config的节点中加入下边节点即可: 其他说明 ·是否需重写,两者都是对路径进行匹配来决定,HTTP模块可以用正则,HTTP处理程序只能用通配符*、?; ·HTTP模块的匹配规则可以放在任何可调用到的地方,HTTP处理程序的匹配规则只能放在配置文件中; ·所有HTTP模块在请求时都会被调用,一次请求中只有路径和path属性值匹配的那个HTTP处理程序才会被调用; ·如果HTTP模块中不理行重写那将访问真实文件,HTTP处理程序中不进行重写访问不到真实文件,显示空白页; 参考文章 .在ASP.NET中执行URL重写:http://msdn.microsoft.com/zh-cn/library/ms972974.aspx