ASP.. NET Core UI应用程序与单独的数据

本文关键字:单独 数据 应用程序 NET Core UI ASP | 更新日期: 2023-09-27 18:06:11

我正在将应用程序的UI端移动到新的ASP。. NET Core MVC结构。不幸的是,我仍然需要引用上一代ASP中构建的数据层。净框架。这个data. dll有适当的连接字符串到各种数据库,所有这些数据库都由ConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString管理,这需要我在UI层模拟,以便实际获得数据。

现在,有了ASP。. NET Core MVC中,配置的web.config已替换为appsettings.json文件。

这种范式转换破坏了我对数据的所有访问,因为我不能再在UI应用程序中复制连接字符串。

是否有一个适当的解决方案,可以使这个数据层。dll更自包含,并依赖于自己的,内部定义的连接字符串(s),同时仍然暴露的方法"包含"应用程序-在这种情况下,UI层?

ASP.. NET Core UI应用程序与单独的数据

实际上您确实从新的.json文件中引用了您的连接字符串。您将执行如下操作:

var builder = new ConfigurationBuilder();
builder.AddInMemoryCollection();
var config = builder.Build();
config["somekey"] = "somevalue";
// do some other work
var setting = config["somekey"]; // also returns "somevalue"

这里是一个链接:docs.asp.net

我已经用一个变通方法解决了我的问题,现在就可以了。最终,我想找到一个更好的选择,但我正在前进,这让我的老板很高兴。

我最终改变了我的方法签名,以接受一个字符串值,表示不再在调用项目中的连接字符串,因为转换到Core MVC。

在调用的.dll中,代码现在查看传递的参数是否有值,如果有,则使用传递的值初始化SqlConnection。如果没有提供参数,它将使用ConfigurationManager功能查找web.config中的配置部分。

这将允许现有项目使用代码,以及新的Core MVC项目。虽然有点笨拙,但是很实用。