是否可以更改web.config文件而不为网站上的所有用户提供新会话?
答案 0 :(得分:8)
您可以将web.config的易失性部分移动到外部文件中,然后将IIS设置为在这些文件发生更改时不重新启动应用程序。
在下面的示例中,应用程序和连接字符串设置已移至web.config之外的另一个文件。
<?xml version="1.0"?>
<configuration>
<appSettings configSource="appSettings.config"/>
<connectionStrings configSource="connections.config"/>
</configuration>
完成后,您可以更改应用程序设置(或放在外部文件中的任何其他内容),而无需编辑web.config。
您还可以访问machine.config并使用restartOnExternalChanges属性,但应谨慎使用,因为它可能会产生意想不到的后果。某些部分(例如应用设置)已将此设置为“false”。
<section name="appSettings" restartOnExternalChanges="false">
此OdeToCode article中提供了更多详细信息。
答案 1 :(得分:3)
如果您不使用InProc会话状态,那么您的会话应该在应用程序重新启动时保持不变。
sessionState Element(包括有关配置SqlServer模式的说明。