感谢Chris Hynes提供了通过HttpModule(Krystalware.HttpUploadManager)实现 ASP.NET大文件上传的代码:下载HttpUpload (其中HttpUploadSpike.rar是 ASP.NET大文件上传开源版本[有一些小BUG,修改方法见下文]SlickUpload-2.5.2.rar是 ASP.NET大文件上传最新的非开源版本)使用Chris Hynes提供的代码进行大文件上传非常方便,但在使用过程中发现几个小问题,解决后给大家作个参考。一、中途取消时CPU占用过高上传的时候如果中途取消,w3wp进程占用CPU一直100%,经过跟踪发现MultipartParser.cs中几处地方有问题:
1)ReadFile中处理Stream.Read的返回值只处理出错返回-1的情况,没有处理到达流末尾返回0的情况