Azure Веб-приложение не отображает строку подключения в Kudu Env - PullRequest
0 голосов
/ 23 января 2020

Мы пытаемся получить строку подключения из Azure веб-приложения для работы с нашим ASP. net веб-сайтом.

Мы правильно настроили строку подключения в Azure Веб-приложении:

enter image description here

Однако, когда мы посещаем нашу страницу среды Kudu, на которой отображается совершенно неверная строка подключения, мы не можем понять, почему на ней не отображается наша пользовательская строка подключения.

enter image description here

Также - мы используем пользовательскую строку подключения, потому что у нас есть специальный соединитель (Devart Mysql), для которого нам нужно, чтобы имя провайдера оставалось правильным.

enter image description here

Когда мы пытаемся загрузить наш сайт, мы получаем это: enter image description here

Я Интересно, перезаписывает ли веб-приложение azure наш провайдер и переустанавливает его на провайдера Sql сервера вместо провайдера Devart. MySql, который нам нужно использовать. Оцените любую помощь / руководство

ОБНОВЛЕНИЕ

При проверке web.config с помощью kudu выясняется, что azure автоматически меняет имя поставщика на System.Data.Entityclient - как мы можем предотвратить это? Я полагаю, что это root проблемы

Кроме того - мы используем проект barebones для проверки этого с минимальным минимумом, поэтому мы знаем, что в проекте нет других факторов, манипулирующих этими значения, довольно уверенные azure веб-приложение делает это изменение, но не уверен, как это исправить

enter image description here

1 Ответ

0 голосов
/ 24 января 2020

Для. NET приложений, таких как ASP. NET, эти строки подключения внедряются в параметры конфигурации *. 1020 * connectionStrings во время выполнения, переопределяя существующие записи, где ключ равен имени связанной базы данных.

Эти параметры также будут доступны в качестве переменных среды во время выполнения с префиксом типа подключения. Префиксы переменной среды имеют следующий вид:

SQL Server: SQLCONNSTR_
MySQL: MYSQLCONNSTR_
SQL Database: SQLAZURECONNSTR_
Custom: CUSTOMCONNSTR_

Вы извлекаете настройки в своем приложении, используя ConfigurationManager.ConnectionStrings["keyname"];.

Так в web.config задайте connectionString пусто и будет автоматически использовать connectionString настроек приложения. Для получения более подробной информации вы можете обратиться к этому учебнику .

...