【发布时间】:2015-10-27 20:23:11
【问题描述】:
鉴于以下 iis web.config
<sessionState customProvider="Foo" mode="Custom" timeout="90">
<providers>
<add name="FooProvider" type="Redis"/>
</providers>
</sessionState>
您将如何使用 appcmd 更改 <add name="FooProvider.. 的值?
我可以更改<sessionState customProvider>
appcmd.exe set config 'mycompany/mysite' -section:system.web/sessionState -customProvider:"bar" -timeout:90
但是我不知道怎么把<add name="FooProvider"改成<add name="BarProvider"
我可以删除提供程序,也可以添加提供程序,但是因为我使用 CHEF 来自动执行此操作,所以我需要一种幂等方式,并且可以连续运行多次。
删除提供者
appcmd set config 'mycompany/mysite' -section:system.web/sessionState /-"providers.[name='RedisSessionStateStoreProvider']
创建提供者
appcmd set config 'mycompany/mysite' -section:system.web/sessionState /+"providers.[type='Redis',name='RedisSessionStateStoreProvider']"
清除提供者
appcmd clear config 'mycompany/mysite' -section:system.web/sessionState /providers
如何修改提供程序的值而不删除并重新创建它?
【问题讨论】: