Начну с того, что я очень мало знаю о веб-приложениях и тому подобном, так что это может показаться очень простым, но пока не могу найти четкого ответа.
Я собрал простое приложение Entity Framework Core, ASP.NET Core MVC, которое использует базу данных SQL Server, и оно запускается и работает на моем локальном тестовом компьютере.Когда я публикую в Azure (и создаю ресурсы и базу данных), строка подключения автоматически не перенаправляется в базу данных в Azure.
Если я вручную переключу его на лазурную строку, все будет работать.
Как настроить проект так, чтобы при публикации мне не приходилось вручную изменять строку подключения?
В моем приложении есть файл appsettings.json
, в который я вручную ввелмои строки подключения .. например ..
"ConnectionStrings": {
"local_abpwebtestdb": "Server=(localdb)\\mssqllocaldb;Database=Company.metrics.db1;Trusted_Connection=True;",
"abpwebtestdb": "Server = tcp:companytestmetrics.database.windows.net,1433; Initial Catalog = postmetrics_db; Persist Security Info = False; User ID = xxxxx; Password =xxxxxxx; MultipleActiveResultSets = False; Encrypt = True; TrustServerCertificate = False; Connection Timeout = 30;"
},
Затем в своем приложении я вручную переключаюсь между этими двумя строками:
// string con = Configuration.GetConnectionString("local_abpwebtestdb");
string con = Configuration.GetConnectionString("abpwebtestdb");
В учебниках, опубликованных MS, они используютlocal db, когда вы публикуете его, волшебным образом перенаправляет на новый в Azure.
Как работает конфигурация?(пожалуйста, сделайте вид, что у меня нет точных базовых знаний)
Спасибо!DR