在Azure上覆盖RedisSessionStateProvider的连接

本文关键字:连接 RedisSessionStateProvider 覆盖 Azure | 更新日期: 2023-09-27 18:06:00

我使用RedisSessionStateProvider与asp.net mvc 4.5的会话管理。我使用azure web应用程序为我的主机。如何在prod部署期间覆盖azure门户上的此连接信息。除了使用web.release.config转换文件,还有其他方法吗?

  <sessionState mode="Custom" timeout="2000" customProvider="MySessionStateStore">
    <providers>
      <add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="server.cloudapp.net" port="6379" accessKey="password" ssl="false" databaseId="1" applicationName="pWeb" />
    </providers>
  </sessionState>

在Azure上覆盖RedisSessionStateProvider的连接

提供程序接受一个ConnectionString参数,该参数可以指向一个应用设置。您可以根据运行的环境设置此应用程序设置。下面的代码显示了web.config

<appSettings>
    <add key="RedisConnection" value="cachename.redis.cache.windows.net,ssl=true,password=password"/>
  </appSettings>
    <sessionState mode="Custom" customProvider="MySessionStateStore">
      <providers>
        <add name="MySessionStateStore" 
             type="Microsoft.Web.Redis.RedisSessionStateProvider" connectionString="RedisConnection"/>
      </providers>
    </sessionState>