IIS复制Temp目录中的DLL和PDB文件

这使我疯狂…

我已经把它钉在下面,但我不知道为什么会发生,或者如何阻止它。

正在处理Web服务的IIS工作进程正在WINDOWS / Temp目录中每分钟或两分钟创build一个相同的DLL,一个PDB和一个空的.tmp文件的多个副本。 我知道这是正在做的Web服务的工作进程,因为当我试图删除文件,它不会让我,ProcExp说,IIS工作进程有文件,然后挖入该工作进程,我可以告诉它是运行我的Web服务的人。 它正在创build这样的文件…

tmp2A95.tmp.pdb

tmp2A95.tmp

tmp2A95.tmp.dll

总是在这三个文件的集合,但顺序hex编号跳过三…所以下一组文件将是tmp2A98

这些正在以大约12,000个文件周末的速度创build。 它填满了我的硬盘,并开始在网站上造成问题。

这是供应商的软件,他们不知道为什么会发生这种情况,我已经尽了最大的努力去追查,但是我没有访问他们的源代码。 他们一直在让我做一些与这个问题无关的荒谬的事情,而我们在6个月左右的时间里一直无法解决这个问题。

事件日志中没有错误,IIS日志中没有任何错误,并且DLL是其中一个API库的副本。 奇怪的是PDB …整个服务器上没有其他的PDB文件 – 这些是直接从DLL本身生成的?

请让我知道,如果你以前见过这样的事情,或者如果你知道是什么导致IIS丢失三个文件在临时文件夹中的文件。

谢谢!

一个pdb文件是一个程序数据库文件。 它用于debugging。 例如,如果您的Web应用程序有一个例外,如果程序集(dll)有一个pdb文件有exception,它将logging有问题的代码的源代码行号和方法名称。

检查虚拟目录层次结构中的所有web.config文件。“如果启用debugging,则会为ASP.NET网站上的每个页面生成大量的临时文件。

另一种可能性:如果虚拟站点层次结构中有任何更改,这将导致ASP.NET应用程序重新编译,这可能会导致您看到的文件。 确保您没有任何更改网站层次结构中文件夹或文件的内容。 如果这样做,则需要移动在网站层次结构之外修改的文件夹/文件。 另一个常见的罪犯是防病毒扫描程序,它可以改变一些文件的date属性。 可能需要禁用NTFS上次访问更新。

在ASP.NET中的臭名昭着的debugging= True属性

http://aspalliance.com/articleViewer.aspx?aId=1341&pId=-1

不要运行启用了debug =“true”的生产ASP.NET应用程序

http://weblogs.asp.net/scottgu/archive/2006/04/11/442448.aspx