引用的 class 库中的连接字符串不可见
Connection string not visible from referenced class library
我正在尝试将 Web 应用程序从 ASP.NET 4.5 移植到 ASP.NET 5 / MVC 6 (Beta 8)。
该应用程序由一个 WebApp 和一个封装了数据库访问的 class 库组成。在我的新解决方案中,class 库的类型为 Class Library (Package).
数据库访问层(class 库)尝试查找名为 MyConnection 的连接字符串。在我的旧 ASP.NET 4.5 应用程序中,我曾经在 WebApp 的 web.config 中定义该连接字符串。此配置以某种方式找到了我的 class 库的方式,因此我的 class 库能够访问 WebApp 中定义的连接字符串。
现在使用 ASP.NET 5 我类似地尝试在 appsettings.json 中定义连接字符串,如下所示:
{
"ConnectionStrings": {
"MyConnection": "server=localhost\SQLEXPRESS;database=MyDb;Integrated Security=True"
}
}
但在运行时出现以下错误:
Can't find a connection string with the name 'MyConnection'
因此,与旧的 ASP.NET 不同,这里的配置似乎没有进入引用的 class 库。
如何确保我的连接字符串在我引用的 class 库中可见?
你需要为你的连接字符串设置创建一个 class 并且在启动时你从 appsettings.json 绑定 class 并且你需要将它注入你的 class 类似于 关于用户机密的库,这是另一个可以放置连接字符串的地方。不再有对配置设置的静态访问。
我正在尝试将 Web 应用程序从 ASP.NET 4.5 移植到 ASP.NET 5 / MVC 6 (Beta 8)。
该应用程序由一个 WebApp 和一个封装了数据库访问的 class 库组成。在我的新解决方案中,class 库的类型为 Class Library (Package).
数据库访问层(class 库)尝试查找名为 MyConnection 的连接字符串。在我的旧 ASP.NET 4.5 应用程序中,我曾经在 WebApp 的 web.config 中定义该连接字符串。此配置以某种方式找到了我的 class 库的方式,因此我的 class 库能够访问 WebApp 中定义的连接字符串。
现在使用 ASP.NET 5 我类似地尝试在 appsettings.json 中定义连接字符串,如下所示:
{
"ConnectionStrings": {
"MyConnection": "server=localhost\SQLEXPRESS;database=MyDb;Integrated Security=True"
}
}
但在运行时出现以下错误:
Can't find a connection string with the name 'MyConnection'
因此,与旧的 ASP.NET 不同,这里的配置似乎没有进入引用的 class 库。
如何确保我的连接字符串在我引用的 class 库中可见?
你需要为你的连接字符串设置创建一个 class 并且在启动时你从 appsettings.json 绑定 class 并且你需要将它注入你的 class 类似于