Почему net framework 4.5 azure развертывание игнорирует строки подключения службы приложений - PullRequest
1 голос
/ 11 февраля 2020

Справочная информация:

Я перемещаю один из наших net Framework 4.5 проектов в конвейер DevOps, который будет развернут в нашей службе приложений.

Чтобы убедиться, что ни одно из приложений секреты копируются в систему контроля версий. Я обновил строки соединений Web.config следующим образом:

<connectionStrings configSource="connectionStrings.config"></connectionStrings>

connectionStrings.config не стремится к исходному контролю. Вместо этого у нас есть пример версии без действительной строки, которая находится в управлении исходным кодом, подробно здесь:

<connectionStrings>
  <clear/>
  <add name="EFDbContext" connectionString="Data Source=XXXXX\SQLEXPRESS;Initial Catalog=XXXXX;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False" providerName="System.Data.SqlClient" />
</connectionStrings>

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

Azure connection string

В конвейере приложение успешно собирается, но после развертывания приложение не использует строку подключения, указанную в службе приложения Azure, и выбрасывает следующая ошибка:

The connection name 'LocalSqlServer' was not found in the applications configuration or the connection string is empty.

Вопрос (ы):

Почему приложение игнорирует переменную среды службы приложения?

Я был под создается впечатление, что строки подключения, установленные в Azure, будут иметь приоритет. Это правильно?

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020

Я согласен с Sajeetharan, проблема в том, что ваша база кода ссылается на этот LocalSqlServer. В соответствии с документацией Microsoft :

Для ASP. NET и ASP. NET Основные разработчики, установка строк подключения в службе приложений, аналогичны их установке в Web.config, но значения, которые вы устанавливаете в службе приложений, переопределяют значения в Web.config. Вы можете безопасно хранить параметры разработки (например, файл базы данных) в файле Web.config и производственные секреты (например, SQL Учетные данные базы данных) в службе приложений. Тот же код использует ваши параметры разработки при локальной отладке, и он использует ваши производственные секреты при развертывании в Azure.

. Я бы рекомендовал проверить файлы, развернутые в службе приложений, для подтверждения. Это можно сделать с помощью Kudoor редактора службы приложений на портале.

0 голосов
/ 11 февраля 2020

Я вижу конфликт в настройках, которые вы добавили как «EFDbContext», но в коде, который вы ищете для LocalSqlServer. Проверьте, есть ли у вас такое же имя в настройках приложения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...