Asp.net IIS applicationHost.config更改不反映

Asp.net IIS applicationHost.config更改不反映,asp.net,iis,Asp.net,Iis,我创建了一个测试网站,以利用由提供的预热模块 我也用过 我已安装模块,并对applicationHost.config文件进行了更改,并重新启动了服务器: <applicationPools> <add name="MySite" autoStart="true" startMode="AlwaysRunning" managedRuntimeVersion="v4.0" /> </applicationPools> <sites>

我创建了一个测试网站,以利用由提供的预热模块

我也用过

我已安装模块,并对applicationHost.config文件进行了更改,并重新启动了服务器:

<applicationPools>
    <add name="MySite" autoStart="true" startMode="AlwaysRunning" managedRuntimeVersion="v4.0" />
</applicationPools>

<sites>
    <site name="MySite" id="4" serverAutoStart="true">
        <application path="/" applicationPool="MySite" preloadEnabled="true">
            <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\MySite" />
        </application>
    </site>
</sites>
还有你叔叔,它工作得很好。然后我重新启动了服务器,并再次检查了applicationHost.config文件,但我所做的更改并不存在;然而,该网站在TaskManager中运行良好,如果我访问该网站,它将立即可用。停止和启动应用程序池会立即在任务管理器中弹出站点

所以我的问题是,如果不在applicationHost.config文件中,设置存储在哪里

编辑:我已经做了很多挖掘和游戏,但还没有找到答案。首先,经过搜索,我发现还有另一个applicationHost.config文件。我一直在编辑的那个

%windir%\System32\inetsrv\config\applicationHost.config
第二个显然与32位有关,但第一个applicationHost.config清楚地显示了32位的网站。即使如此,第二个也没有反映出我的变化

%windir%\SysWOW64\inetsrv\config\applicationHost.config

我搜索了applicationHost.config,它找到了它的一些其他副本,但看起来更像是它们的初始/备份副本

然后我创建了第二个网站,这两个网站现在配置为:

<applicationPools>
    <add name="MySite" autoStart="true" startMode="AlwaysRunning" managedRuntimeVersion="v4.0" />
    <add name="MySite2" autoStart="true" startMode="OnDemand" managedRuntimeVersion="v4.0" />
</applicationPools>

<sites>
    <site name="MySite" id="1" serverAutoStart="true">
        <application path="/" applicationPool="MySite" preloadEnabled="true">
            <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\MySite" />
        </application>
    </site>
    <site name="MySite2" id="2" serverAutoStart="true">
        <application path="/" applicationPool="MySite" preloadEnabled="false">
            <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\MySite" />
        </application>
    </site>
</sites>
以与在applicationHost.config中配置相反的方式配置它们。我完全重新启动了服务器并检查了配置,它仍然和我最初离开时一样,没有反映更改,两个站点都没有启动

然后,我将站点2的配置更改为autostart(对于站点1),并重新启动了服务器,但它仍然没有启动。然后我跑:

%windir%\System32\inetsrv\appcmd set apppool "MySite2" /startMode:AlwaysRunning
%windir%\System32\inetsrv\appcmd set app "MySite2/" /preloadEnabled:true
%windir%\System32\inetsrv\appcmd stop apppool "MySite2"
%windir%\System32\inetsrv\appcmd start apppool "MySite2"
它启动了,重新启动了服务器,并启动了,尽管站点1在启动时仍然没有启动。所以我跑了:

%windir%\System32\inetsrv\appcmd set apppool "MySite" /startMode:AlwaysRunning
%windir%\System32\inetsrv\appcmd set app "MySite/" /preloadEnabled:true

然后重新启动整个服务器,这两个站点都已启动。

您是否使用记事本++进行这些更改并查看文件?如果是这样,请使用Windows附带的标准记事本(如果已将记事本替换为记事本2,请使用记事本2)。我猜notepad++默认只写入32位的文件(根据)。

这当然会引起问题,但是我做了一个快速检查,notepad++确实在页面顶部显示了正确的路径,但是你的文章肯定有价值。我目前无法访问有问题的服务器,但我将很快得到一个新服务器进行部署,并将对此进行调查。我们刚刚在新服务器和旧服务器上测试了它之后,将立即恢复。在新服务器上,Notepad++运行正常,打开了正确的文件,所有内容都在进行更改后立即反映出来。在旧服务器上,我用记事本++和记事本打开了文件,哇,它们是不同的。两台服务器都是x64,所以我能想到的就是一台记事本++运行32位或其他什么。谢谢大卫:)没问题,很高兴这对你有帮助(谢谢你回信给我结论)!
%windir%\System32\inetsrv\appcmd set apppool "MySite2" /startMode:AlwaysRunning
%windir%\System32\inetsrv\appcmd set app "MySite2/" /preloadEnabled:true
%windir%\System32\inetsrv\appcmd stop apppool "MySite2"
%windir%\System32\inetsrv\appcmd start apppool "MySite2"
%windir%\System32\inetsrv\appcmd set apppool "MySite" /startMode:AlwaysRunning
%windir%\System32\inetsrv\appcmd set app "MySite/" /preloadEnabled:true