我们有一大堆网站在其web.config文件中运行大约8个处理程序映射。 不幸的是,每次添加新的站点时,他们都将站点复制到站点。
现在,我已经到了将所有web.config文件从Web服务器的Handler Mappings中移出的时候了。
如果我将映射添加到服务器,而它仍然存在于web.config中,则当您浏览到该站点时,IIS会引发错误。 我有几个web.config的编辑在这里每个约10映射。
有没有办法将这些映射添加到服务器,而不必手动编辑每个web.config文件? 否则,每个站点都会closures几分钟,而我进入每个文件并删除处理程序。
谢谢!
如果你正在手动做这个,你真的别无select。 即使你一次只通过一个UI做了一个处理程序映射,你要么必须同时安装站点和全局处理程序(虽然简要),要么删除本地站点,然后重新添加到全球设置。
你当然可以使用appcmd.exe编写脚本:
http://www.iis.net/ConfigReference/system.webServer/handlers
例如:
从站点中删除处理程序(我使用默认网站作为示例) –
appcmd set config "Default Web Site" -section:system.webServer/handlers /-"[name='MyHandler']"
要添加一个处理程序到全局或“APP主机”configuration:
appcmd set config -section:system.webServer/handlers /+"[name='MyHandler', path='*.mything',modules='MyApp.MyHandler',preCondition='integratedMode', resourceType='Unspecified',verb='GET,HEAD,POST']" /commit:apphost
我已经把上面的命令分成四行来使它可读,实际上它应该只是一行。
使用脚本将意味着你的中断时间将是一分钟而不是几分钟。