【发布时间】:2018-05-04 20:31:50
【问题描述】:
我在 IIS 中托管了多个项目。这些都共享一个数据库,该数据库使用 EF6 调用。我希望能够使用一个共享的连接字符串配置文件,我可以从其他每个项目的 web.config 中引用它。这样,我就可以从一个位置管理连接字符串的任何机会。根据我在网上找到的内容,我正在尝试通过虚拟目录和连接字符串的 configSource 属性来完成此操作。
IIS 结构
-VirtualDirectory(映射到 /DbConfigFile)
-WebApp 1
-WebApp 2
-WebApp 3
WebApps 的 Web.config 连接字符串部分<connectionStrings configSource="/DbConfigFile/testDB.config"></connectionStrings>
包含所有应用程序所需的连接字符串的外部配置文件 (testDB.config)。
<connectionStrings>
<add name="TestDBEntities" connectionString="metadata=res://*/TestDB.csdl|res://*/TestDB.ssdl|res://*/TestDB.msl;provider=System.Data.SqlClient;provider connection string="data source=TestDB;initial catalog=VBODashboard;persist security info=True;user id=Test;password=Test;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
</connectionStrings>
我尝试了 configSource 属性中的各种路径,但都没有成功(~/DbConfigFile/testDB.config、testDB.config)。我将如何访问该文件?或者有没有更好的方法来做到这一点?
【问题讨论】:
-
为什么不将连接字符串存储在环境变量中?还是在配置数据库中?或者在任何自定义配置文件中?您不必坚持使用 .config 连接字符串来存储此信息:它只是一个字符串!
-
查看这篇博文here。您可以使用“添加为链接”选项
标签: asp.net-mvc iis web-config connection-string