我已经让Redis会话状态提供商在我的ASP.Net网站本地工作,并在Azure中使用我的Azure网站。但我对配置有疑问......
有没有办法使用“网站属性”屏幕中的“应用程序设置”(或“配置字符串”)部分在Azure网站本身中存储配置?
这将非常方便,因为这意味着我在发布时不必修改web.config文件。我已经为连接字符串和应用程序设置执行了此操作,但我还没有看到在web.config文件的<system.web>
节点中执行此操作的方法,例如<sessionState>
节点
答案 0 :(得分:1)
无法使用web.config文件更改基于提供程序的会话状态的行为。
您可以编写自己的提供程序并修改从中找到连接详细信息的位置,这样您就可以在web.config之外的其他位置发布这些详细信息,但这不是标准行为。
答案 1 :(得分:0)
This question有办法让这项工作。
<appSettings>
<add key="REDIS_CONNECTION_STRING" value="[your dev connection string]" />
</appSettings>
<system.web>
<sessionState mode="Custom" customProvider="RedisProvider">
<providers>
<add name="RedisProvider" type="Microsoft.Web.Redis.RedisSessionStateProvider" connectionString="REDIS_CONNECTION_STRING" />
</providers>
</sessionState>
</system.web>
然后,在门户网站中,您可以使用正确的连接字符串创建名为“REDIS_CONNECTION_STRING”的应用设置。您不能使用web.config或azure portal的连接字符串部分。它必须是应用程序设置。不知道为什么,但连接字符串只使用web.config中的任何内容,而不是替换为门户网站中的内容。