0

我在同一个解决方案中有我的应用程序和 WCF 服务。我在一个类(在应用程序中)中编写了一个属性来从Web.Config应用程序中获取 ConnectionString。现在需要在我的 WCF 服务中访问相同的连接字符串,但我的 WCF 服务中有另一个连接字符串Web.Config(其中定义了所有绑定)。但我需要访问app的连接字符串。

//This is the connection string of App, where I am retrieving it in a common class. 
public static readonly string ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
4

2 回答 2

0

您可以从另一个访问连接字符串web.config。在 asp.net 项目中可以有两个 web.config 文件在不同的目录中。

注意:如果连接字符串具有相同的“名称”,则目录中的字符串将覆盖根文件夹中的字符串。

添加Namespace到您的班级并按原样访问/读取 web.config 文件连接字符串。在此之前将相同的 Web.config 文件添加到项目中的其他文件目录中。

于 2013-05-29T05:45:18.603 回答
0

正确答案是“不要这样做,将连接字符串添加到边缘项目的配置中”

如果您坚持与魔鬼混在一起,请使用类似的东西(根据您的需要更改):

var fileMap = new ConfigurationFileMap("configFilePath");
var configuration = ConfigurationManager.OpenMappedMachineConfiguration(fileMap);
var sectionGroup = configuration.GetSectionGroup("connectionStrings "); // This is the section group name, change to your needs
var section = (ClientSettingsSection)sectionGroup.Sections.Get("MyTarget.Namespace.Properties.Settings"); // This is the section name, change to your needs
var setting = section.Settings.Get("connectionStringKey "); // This is the setting name, change to your needs
return setting.Value.ValueXml.InnerText;
于 2013-05-29T05:32:26.580 回答