SQL Ошибка строки подключения при развертывании ASP. NET Core MVC до Azure Службы приложений (Linux) - PullRequest
0 голосов
/ 13 апреля 2020

Я создал простое ASP. NET Core MVC приложение с использованием EF Core и SQL Server. На машине разработки Windows он использует localdb. Я пытаюсь развернуть в Azure Службу приложений (Linux). Я создал базу данных Azure SQL. Развертывая из Visual Studio 2019, я установил базу данных в качестве зависимости. В настройках профиля publi sh я выбрал строку подключения Azure SQL для используемого контекста базы данных. Я также проверил EF Migrations и после развертывания скрипт успешно создал таблицы для приложения. Я могу подключиться к Azure SQL и посмотреть таблицы. Однако, когда я запускаю развернутое приложение и пытаюсь выполнить операцию с базой данных, я получаю: PlatformNotSupportedException: LocalDB не поддерживается на этой платформе

Я могу видеть из документов различные способы установки строки соединения, но я хотел бы знать, что мастер publi sh в Visual Studio 2019 пытается это сделать, и почему он не работает? Мне также непонятно, где хранится пароль. В профиле publi sh пароль выглядит в строке подключения в виде обычного текста, но не очень. Я хотел бы знать, как получить это право для производства.

Обновление На данный момент я исправил это, выполнив шаги в руководстве Linux, используя Azure CLI и запустите следующую команду:

az строка набора конфигурации веб-приложения --resource-group [myResourceGroup] --name [имя приложения] --settings MyDbConnection = '[строка-подключения]' --connection -string-type SQLServer

Я не уверен в безопасности этого подхода и планирую продолжить расследование.

1 Ответ

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

Мастер publi sh просто обрабатывает создание / миграцию базы данных, он не изменяет ваш проект, поскольку это 1) не его цель и 2) он не может принять решение о конфигурации для вас (т.е. использовать appsettings, переменные окружения и т. д. c.)

Необходимо предоставить строку подключения в производственном процессе через конфигурацию, как и в процессе разработки. Поскольку вы развертываете в Azure Службу приложений, наиболее логичным местом для этого будут Настройки приложения в Azure. Они будут загружены через переменные среды. Просто укажите тот же ключ, который вы используете в разработке, и укажите целевой объект производственной базы данных.

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