Настройка состояния сеанса Redis в Azure
У меня есть провайдер состояния сеанса Redis, работающий локально с моим сайтом ASP.Net и в Azure с моим сайтом Azure. Но у меня есть вопрос о конфигурации...
Есть ли способ сохранить конфигурацию для этого на самом веб-сайте Azure, используя раздел "Параметры приложения" (или "Строки конфигурации") на экране "Свойства веб-сайта"?
Это было бы очень удобно, потому что это означало бы, что мне не нужно изменять файл web.config при публикации. Я уже делаю это для строк подключения и настроек приложения, но я просто не вижу способа сделать это для чего-либо в <system.web>
узел файла web.config, например <sessionState>
узел.
2 ответа
Невозможно изменить поведение состояния сеанса на основе поставщика, используя файл web.config.
Вы можете написать свой собственный провайдер и изменить, откуда он находит подробности о соединении, чтобы вы могли опубликовать эти подробности где-то, кроме web.config, но это не будет стандартным поведением.
Этот вопрос имеет способ сделать эту работу.
<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. Это должны быть настройки приложения. Не знаю почему, но строки подключения просто используют то, что находится в web.config, и не заменяются тем, что находится на портале.