我正在将应用程序的UI端移到新的ASP.NET Core MVC结构中。不幸的是,我仍然需要引用在上一代ASP.NET框架中构建的数据层。该数据.dll具有到各个数据库的适当连接字符串,所有这些数据库都由ConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString
我管理,需要我在UI层中进行模仿才能真正获取数据。
现在,使用ASP.NET Core MVC,web.config
for配置已替换为appsettings.json
文件。
由于无法再在UI应用程序中复制连接字符串,因此这种范式转换中断了我对数据的所有访问。
是否有合适的解决方案,可以使此数据层.dll更加独立,并依赖其自己的内部定义的连接字符串,同时仍将方法暴露给“包含”应用程序-在这种情况下为UI层?
我已经通过变通办法解决了我的问题,并且现在可以解决。最终,我想找到一个更好的选择,但是我正在向前迈进,这使我的老板感到高兴。
我最终将方法签名更改为接受一个字符串值,该字符串值表示由于转换为Core MVC而不再在调用项目中出现的连接字符串。
在被调用的.dll中,代码现在看起来要查看所传递的参数是否存在值,如果存在,则使用所传递的值来初始化SqlConnection
。如果未提供任何参数,它将在web.config
使用ConfigurationManager
功能时查看config部分。
这将允许现有项目使用代码,以及新的Core MVC项目。这有点笨拙,但功能强大。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句