如何在相同的解决方案中从我的WCF服务访问另一个项目连接字符串

本文关键字:访问 服务 WCF 另一个 项目 字符串 连接 我的 解决方案 | 更新日期: 2023-09-27 18:15:43

我的应用程序和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();

如何在相同的解决方案中从我的WCF服务访问另一个项目连接字符串

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

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

Namespace添加到您的类中并访问/阅读web。按原样配置文件连接字符串。在此之前添加相同的Web。

正确的答案是"不要这样做,在edge项目的配置中添加连接字符串"

如果你坚持要和魔鬼打交道,使用类似的东西(根据你的需要修改):

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;