当我执行以下代码删除和移动文件时,我的工作进程挂起:
File.Delete(FullSourceFilePath); File.Move(FullTempFilePath, FullSourceFilePath); // update db Data.AdminUpdateFileSizeandBitrate(FileId, SizeInbytes, Bitrate); Response.Redirect("?m=File replaced!");
文件夹 FullSourceFilePath 其中有15000多个文件。
FullSourceFilePath
以上代码导致网站挂起(仅此网站) 如果 需要移动的文件大于5 MB左右。当这个问题出现时,我的工作进程开始消耗内存,逐渐地,我的服务器就要崩溃了。
唯一的恢复解决方案是 IISRESET /RESTART 命令。
IISRESET /RESTART
我的环境是:
iis6在Windows 2003 x86 SP2上运行 使用ASP.NET 4.0和C编写的网站#
File.Move()
File.Delete(FullSourceFilePath); File.Copy(FullTempFilePath, FullSourceFilePath);
DebugDiag
Tess Ferrandez' blog
.NET Debugging Demos - Information and setup instructions