不影响整个服务器应用程序池的情况下更改IIS 6应用程序池

3

我不确定是否出现了异常情况,还是这是正常现象,但自从框架4以来,在我们的IISv6安装中创建新网站时,我曾收到一条消息,称更改为框架4将导致IIS重新启动(但自从几次更新之后就没有了),我认为当我更改框架时它仍然会重启服务器,只是不再有警告。因此,我进行了一些调查并编写了一个脚本,使我能够在不进行此操作的情况下切换框架版本。

@Echo Off
set /p id=Enter Site Instance:
echo %id%
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -norestart -s W3SVC/%id%
pause

我现在遇到的问题是,如果我更改任何一个 Web 应用程序的应用程序池,它似乎会导致其他应用程序池(包括我要添加的应用程序池)刷新。有时候切换会导致每个应用程序池都停止工作,然后我必须重新启动它们,这可能会造成一些停机时间。我已经开始只在早上或工作日结束时发布新站点,以尽可能减少干扰,但我不明白为什么会发生这样的事情。

我的配置是测试用的一个应用程序池、一个生产用的应用程序池和一个管理站点用的应用程序池,但当我将一个站点从测试切换到生产时,将导致所有应用程序池受影响。

请问是否在之前的框架版本中总是发生这种情况,是否有可能解决,例如,我可以在不影响任何其他应用程序池的情况下编写应用程序池切换脚本?

编辑 2011-08-01

找到了这篇文章:http://msdn.microsoft.com/en-us/library/k6h9cz8h%28VS.80%29.aspx,提到了一个叫做iisapp的脚本,看起来可能会有用,将进一步调查。

1个回答

4
我在这个网站上找到了答案:http://forums.iis.net/t/1152572.aspx 使用名为adsutil的vbs(而不是我之前认为的iisapp)可以在批处理文件中编写以下内容。
@Echo Off
set /p id=Enter Site Name:
echo %id%
CD /D C:\inetpub\AdminScripts 
Cscript.exe /nologo adsutil.vbs set W3SVC/%id%/root/apppoolid [APP POOL NAME]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接