Я хочу прочитать только строку подключения из файла конфигурации и для этого добавить в свой проект файл с именем «appsettings.json» и добавить в него это содержимое:
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-
WebApplica71d622;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
В ASP.NET я использовал это:
var temp=ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
Как теперь я могу прочитать «DefaultConnection» в C # и сохранить его в строковой переменной в .NET Core?
c#
connection-string
asp.net-core-1.0
Мотевализаде
источник
источник
Ответы:
Вы можете сделать это с помощью метода расширения GetConnectionString:
или со структурированным классом для DI:
Запускать:
А потом в хоум-контроллере:
с этим в appsettings.json:
источник
Configure
это метод расширения. Чаще всего его следует использовать так:services.Configure<SmtpConfig>(Configuration.GetSection("Smtp"));
Конечно, это почти то же самое, но я думаю, что люди, не знающие об этом, просто начнут делать это «неправильным» способом, используя строку без комментариев, поэтому, возможно, лучше всего удалить строку. ;)Опубликованный ответ хорош, но не ответил напрямую на тот же вопрос, который у меня был о чтении в строке подключения. Путем долгих поисков я нашел более простой способ сделать это.
В Startup.cs
В вашем контроллере добавьте поле для конфигурации и параметр для него в конструкторе
Теперь позже в вашем коде представления вы можете получить к нему доступ, например:
источник
См. Ссылку для получения дополнительной информации: https://docs.microsoft.com/en-us/ef/core/miscellaneous/connection-strings
JSON
C # Startup.cs
РЕДАКТИРОВАТЬ: aspnetcore, начиная с 3.1: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-3.1
источник
ConnectionStrings
вместоConnectionString
? Потому что когда я использовалConnectionString
, то мы получаем null.Microsoft.Extensions.Configuration
(3.1.5)Я нашел способ решить эту проблему, используя AddJsonFile в построителе при запуске (что позволяет ему найти конфигурацию, хранящуюся в файле appsettings.json), а затем использовать это для установки частной переменной _config.
И затем я мог бы установить строку конфигурации следующим образом:
Это на ядре dotnet 1.1
источник
ASP.NET Core ( в моем случае 3.1 ) предоставляет нам инъекции конструктора в контроллеры , поэтому вы можете просто добавить следующий конструктор:
Вот как может выглядеть appsettings.json:
источник
Есть другой подход. В моем примере вы видите некоторую бизнес-логику в классе репозитория, который я использую с внедрением зависимостей в ASP .NET MVC Core 3.1.
И здесь я хочу получить
connectiongString
эту бизнес-логику, потому что, вероятно, другой репозиторий вообще будет иметь доступ к другой базе данных.Этот шаблон позволяет вам в одном репозитории бизнес-логики иметь доступ к разным базам данных.
C #
appsettings.json
источник
В версии 3.1 уже определен раздел для "ConnectionStrings".
System.Configuration.ConnnectionStringSettings
Определите :
Зарегистрироваться :
Ввести :
Использование :
источник
У меня есть библиотека доступа к данным, которая работает как с ядром .net, так и с .net framework.
уловка заключалась в том, что в основных проектах .net строки подключения сохранялись в XML-файле с именем «app.config» (также для веб-проектов) и помечались как «копировать в выходной каталог»,
ConfigurationManager.ConnectionStrings - прочитает строку подключения.
источник
Вы можете использовать метод расширения конфигурации: getConnectionString ("DefaultConnection")
https://docs.asp.net/projects/api/en/latest/autoapi/Microsoft/Extensions/Configuration/ConfigurationExtensions/index.html#Microsoft.Extensions.Configuration.ConfigurationExtensions.GetConnectionString
источник