У меня есть веб-приложение ASP.NET 5, которое вытащило библиотеку классов .NET 4.6. В какой-то момент в библиотеке классов есть вызов, чтобы получить строку соединения из web.config:Менеджер конфигурации не может получить строку подключения в ASP.net 5
ConfigurationManager.ConnectionStrings["AppDataConnectionString"].ConnectionString
(Примечание:. Я не могу изменить данный код)
Эта библиотека классов была используется в старых приложениях веб-форм, где AppDataConnectionString была определена в их web.configs. Теперь я пытаюсь использовать библиотеку классов в своем веб-приложении ASP.NET 5, но вышеприведенный код генерирует исключение нулевой ссылки.
Вот раздел строки соединения в моем web.config в проекте ASP.NET 5:
<connectionStrings>
<add name="AppDataConnectionString" connectionString="server=xxxxxx;database=yyyyy;Trusted_Connection=yes;" providerName="System.Data.SqlClient" />
</connectionStrings>
Я также попытался добавить его в файл appsettings.json следующим образом:
{
"ConnectionStrings": {
"AppDataConnectionString": {
"ConnectionString": "server=xxxxx;database=yyyyy;Trusted_Connection=yes;"
}
}
}
Вот где я загрузить конфигурацию в Startup:
public IConfiguration _Configuration { get; set; }
public Startup()
{
_Configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
}
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton(provider => _Configuration);
}
public void Configure(IApplicationBuilder app)
{
// Call some code from the class library that tries to get that connection string.
}
Мне кажется, как конфигурация менеджер просто не может найти, где находится строка подключения. У меня есть мой web.config или appsettings.json структурированный правильно, чтобы найти его?