当前位置:  开发笔记 > 编程语言 > 正文

IIS正在保留我生成的文件

如何解决《IIS正在保留我生成的文件》经验,为你挑选了1个好方法。

我的Web应用程序生成pdf文件,并通过电子邮件或传真给我们的客户.不知何故,IIS6保留了该文件并阻止任何其他请求它声称旧的'..该进程无法访问文件'xxx.pdf',因为它正被另一个进程使用.

当我回收应用程序池时,一切正常.有谁知道为什么会这样,我怎么能阻止它.

谢谢



1> chakrit..:

正如大家所说,在读取/写入PDF文件时,请在打开的任何IO对象上调用Closeand Dispose方法.

但我想你已经加入了第三方组件?为你做PDF写作?如果是这种情况,您可能需要查看供应商和/或其文档,以确保您按照供应商的预期方式进行操作.不要相信你从其他人那里得到的黑匣子,除非它已证明了自己.

另一个要查看的地方可能是在对PDF文件的多个Web请求期间发生的情况,您确定该文件不是从多个位置同时写入的吗?例如,2-3个同时生成PDF的请求?或PDF生成过程中的2-3页?

最后,您可能需要检查异常日志,以确保没有任何内容崩溃/线程退出,并且在没有注意到的情况下保持文件句柄处于打开状态.它在多个线程场景中发生了很多,有时线程崩溃和退出 - 这可能会发生,特别是如果你使用第三方组件,他们可能会执行一些魔术,你永远不会知道.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有