【发布时间】:2014-05-11 14:39:37
【问题描述】:
为了安全起见,当我在 Web.config 中更改 appSettings 的值时,我总是重新启动网站,以便刷新所有更改。但是我真的需要重新启动它吗? IIS 是如何处理 appSetting 值的,是一次性读取这些值(启动应用程序后)还是每次客户端访问网站时 IIS 都读取它?
【问题讨论】:
标签: asp.net-mvc-4 iis web-config appsettings
为了安全起见,当我在 Web.config 中更改 appSettings 的值时,我总是重新启动网站,以便刷新所有更改。但是我真的需要重新启动它吗? IIS 是如何处理 appSetting 值的,是一次性读取这些值(启动应用程序后)还是每次客户端访问网站时 IIS 都读取它?
【问题讨论】:
标签: asp.net-mvc-4 iis web-config appsettings
其实需要重启的不是“网站”而是“应用池”。请记住,IIS 中的网站管道没有“可执行”代码,只有标记。
然而,这被 IIS 视为“每应用程序池”设置。在您的 INETMGR 中,打开任何应用程序池的属性并查找此设置:“禁用回收配置更改”(在回收组设置下)。如果将此设置为“True”,则 IIS 将不会监视该应用程序池的配置文件的配置更改,并且如果您编辑/更改某些内容,则不会重新启动应用程序池。但是,这意味着您必须手动回收——如果您正在更新网站并想要更改层次结构中的 BIN 文件夹和多个 .config 文件,这是一个有效的方案。在一个 web.config 文件的最小条件下,它自己留下了两个应用程序池重新启动.. 一个用于 BIN 更改,一个用于 web.config。
【讨论】: