为什么设置shadowCopyBinAssemblies="false"没有效果?

问题描述 投票:0回答:1

我正在尝试关闭 IIS 中的卷影复制以提高生产性能。

但是在我的 web.config 中添加它没有效果。这是我的 web.config

<?xml version="1.0"?>
<configuration>
    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
      <hostingEnvironment shadowCopyBinAssemblies="false" />
    </system.web>
</configuration>

当我点击 URL 时,它花费的时间与第一次一样长,并且 文件仍然出现在 C:\Windows\Microsoft.NET\Framework64 4.0.30319\临时 ASP.NET 文件 所以看起来没有效果。

IIS 7.5 和 Windows 7。我正在使用一个小型的 Hello World ASPX 页面进行测试。 有什么想法为什么这不起作用吗?此设置是否在某处被覆盖?

c# asp.net iis
1个回答
0
投票

如果您设置了shadowCopyBinAssemblies =“false”并且它似乎没有任何效果,则可能有以下几个原因导致发生这种情况:

配置未应用:确保您的应用程序正在使用您进行更改的 web.config 文件。有时,尤其是在复杂的设置或部署时,可能会有多个 web.config 文件,或者该文件可能不在正确的目录中。验证配置文件是否正在使用并且位于应用程序的根目录中。

应用程序池回收:对 web.config 文件的更改可能不会立即生效。如果您的应用程序在 IIS 中运行,则对 web.config 文件的更改可能需要应用应用程序池回收。回收应用程序池会导致应用程序重新启动并重新读取配置文件,包括web.config。

权限:确保运行应用程序的用户帐户有权读取 web.config 文件并对托管环境设置进行更改。如果用户帐户没有必要的权限,则配置更改将不会应用。

其他配置或代码:应用程序中可能有其他配置或代码覆盖或忽略shadowCopyBinAssemblies 设置。检查您的 web.config 文件中是否存在此设置的任何其他情况或以编程方式修改此行为的任何代码。

IIS 配置:如果您在 IIS 中运行应用程序,则可能有特定于 IIS 的配置或策略覆盖shadowCopyBinAssemblies 设置。检查 IIS 设置并确保它们符合您所需的行为。

通过仔细检查这些可能性并确保正确应用您的配置并与您的应用程序设置兼容,您应该能够确定为什么shadowCopyBinAssemblies =“false”设置似乎没有生效。

© www.soinside.com 2019 - 2024. All rights reserved.