#c# #.net #azure #connection-string #.net-4.6.2
#c# #.net #azure #строка подключения #.net-4.6.2
Вопрос:
Кто-то давным-давно подумал, что было бы неплохо добавить строку connections, жестко закодированную в datalayer нашего веб-api. Из-за этого наследия я не могу удалить этот класс. Этот класс наследует IDbContextFactory, и ему необходимо получить строку подключения, которая теперь жестко запрограммирована. Чтобы сделать это более … динамичным, я хочу использовать для этого строки подключения Azure.
1 Я добавил строку подключения в конфигурацию службы приложений
2 Согласно многим веб-сайтам, я могу просто добавить следующий код для извлечения строки подключения:
connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
Это не работает; это выдает «Ссылка на объект не установлена для экземпляра объекта». ошибка.
Другие говорят, что вам нужно добавить префикс и среду:
connectionString = Environment.GetEnvironmentVariable("SQLCONNSTR_DefaultConnection");
Очевидно, что это тоже не работает. И да, я выбрал sql server в выпадающем списке.
Другая вещь, которую я пробовал, как кто-то предложил, это добавить строку подключения в web.config. И снова; это не сработало.
Полезно знать, что это .NET 4.6.2, поэтому все прекрасные решения для .NET Core 1/2 не будут работать.
Ответ №1:
Сначала вы должны включить ту же строку подключения в web.config с пустым значением ConnectionString. Затем вы можете перезаписать из раздела настроек приложения.
`<connectionStrings>
<add name="DefaultConnection" connectionString="" />
<add name="CMSEntities" connectionString=""
providerName="System.Data.EntityClient" />
</connectionStrings>`
Для лица основа указать имя_поставщика как система».Данных.Entityclient создан» и настройки выбрали Пользовательское , а не SQL сервер
Комментарии:
1. Когда я это делаю, web.config заменяется файлом, созданным моей версией или сборкой TFS (не могу точно определить, какой именно). Короче говоря: строки подключения исчезают после выпуска. Как это предотвратить?
2. Вы добавили пустую строку подключения в конфигурацию или release config?
3. Я добавил web.config в проект api и добавил строку подключения в файл конфигурации. Я зарегистрировал ее, TFS выполнила некоторую сборку и выпуск, и через Kudu я увидел, что раздел ConnectionStrings исчез.
4. Я не знаком с TFS, я думаю, вам следует пересмотреть свой вопрос. Похоже, это проблема, связанная с TFS.