我有一个 ASP.NET 5 Web 应用程序,它引入了一个 .NET 4.6 类库。在类库中的某个时刻,会调用从 web.config 获取连接字符串:
ConfigurationManager.ConnectionStrings["AppDataConnectionString"].ConnectionString
(注意:我无法更改此代码。)
此类库已在旧的 Web 表单应用程序中使用,其中 AppDataConnectionString 在其 web.configs 中定义。现在我正在尝试在我的 ASP.NET 5 Web 应用程序中使用类库,但上面的代码会引发空引用异常。
这是 ASP.NET 5 项目中我的 web.config 中的连接字符串部分:
<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;"
}
}
}
这是我在启动中加载配置的地方:
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 是否以正确的方式组织起来以便它找到它?