多个项目之间的共享连接字符串



我在 IIS 中托管了多个项目。它们都共享一个数据库,该数据库使用 EF6 调用。我希望能够使用共享连接字符串配置文件,我可以从其他每个项目的 web.config 引用该文件。这样,我就可以从一个位置管理连接字符串的任何机会。从我在网上找到的内容来看,我正在尝试通过虚拟目录和 connectionString 的 configSource 属性来实现这一点。

二世结构

-VirtualDirectory (映射到/DbConfigFile(
-WebApp 1-WebApp
2-WebApp
3

WebApps 的 Web.config 连接字符串部分
<connectionStrings configSource="/DbConfigFile/testDB.config"></connectionStrings>

外部配置文件 (testDB.config(,包含所有应用程序所需的 connectionString。<connectionStrings> <add name="TestDBEntities" connectionString="metadata=res://*/TestDB.csdl|res://*/TestDB.ssdl|res://*/TestDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=TestDB;initial catalog=VBODashboard;persist security info=True;user id=Test;password=Test;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> </connectionStrings>

我已经尝试了configSource属性中的各种路径,但没有运气(~/DbConfigFile/testDB.config,testDB.config(。我将如何访问此文件?还是有更好的方法来实现这一目标?

我最终采纳了梅森的一个建议并创建了一个自定义配置文件。这让我研究一下,发现在初始化上下文时可以通过代码指定连接字符串。然后,我通过代码浏览了 XML 文件并提取了连接字符串值。:

public partial class TestDBEntities : DbContext
{
public TestDBEntities()
: base(<calling code to get connection string> , true)
{
}
...
}

最新更新