我有一个蔚蓝的网站,还有一个我通过VSTS设置的应用程序,用于构建/发布到该网站。我正在使用Azure应用服务部署任务(https://github.com/Microsoft/azure-pipelines-tasks/blob/master/Tasks/AzureRmWebAppDeploymentV4/README.md),并且需要能够根据库变量设置来转换web.config。
基本转换很容易,我只要替换连接字符串和应用程序设置就没有问题。但是,我需要更改更困难的设置。例如:
<sessionState mode="InProc"/>
<sessionState mode="Custom" customProvider="RedisStateStore" cookieless="false" regenerateExpiredSessionId="true">
<providers>
<add name="RedisStateStore" applicationName="XXX" type="YYY"/>
</providers>
</sessionState>
<sessionState cookieless="false" regenerateExpiredSessionId="true" mode="Custom" customProvider="SqlSessionStateProviderAsync">
<providers>
<add name="SqlSessionStateProviderAsync" connectionStringName="SQLSessionConnectionString" type="Microsoft.AspNet.SessionState.SqlSessionStateProviderAsync, Microsoft.AspNet.SessionState.SqlSessionStateProviderAsync, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</sessionState>
基于我的部署库变量中的设置,我需要能够将会话状态配置为上述三个状态之一,并相应地编辑适当的设置(例如,redis提供程序内部的变量可以更改。
此外,我需要编辑的文件不只是web.config。有什么好的方法可以做到这一点?