【发布时间】:2010-08-26 08:14:13
【问题描述】:
我将一个站点移到另一台服务器上,它运行了一段时间,但随后崩溃了。我发现 System.Web.Extensions.dll 丢失了,所以我再次复制了它。过了一会又不见了。 使用进程监视器我发现 IIS (w3wp.exe) 在我将文件复制到 bin 文件夹后不久就删除了该文件。 (具有“读取属性,删除”访问权限的 CreateFile。)
什么可能导致这种行为?
【问题讨论】:
我将一个站点移到另一台服务器上,它运行了一段时间,但随后崩溃了。我发现 System.Web.Extensions.dll 丢失了,所以我再次复制了它。过了一会又不见了。 使用进程监视器我发现 IIS (w3wp.exe) 在我将文件复制到 bin 文件夹后不久就删除了该文件。 (具有“读取属性,删除”访问权限的 CreateFile。)
什么可能导致这种行为?
【问题讨论】:
如果没有版本或错误信息,这很难诊断,但我可以提供一些建议。
首先,不建议将 System.Web.Extensions 放在 bin 文件夹中。如果安装了最新的框架,则 ajax 程序集包含在 GAC 中,并且一切都配置为正常工作。通过将 dll 转储到 bin 文件夹中,您正在试验版本、依赖性和信任问题,这些问题可能会导致您的应用程序运行速度变慢、运行不同或根本不运行。
验证您的 .net 框架安装,以确保在服务器和您的开发机器上都安装了最新版本或服务包。然后仔细检查您的 Web 项目和 web.config 实际引用了哪些版本。 ajax 在开发和部署之间一直存在版本问题(特别是在 beta 周期期间),但至于 IIS 工作进程为何在这种情况下删除文件,你让我很难过。
【讨论】: