3

我正在尝试制作一些需要数据库访问的简单库。我没有得到的是如何将连接字符串传递给库......现在我的 dll 中有一个 db.config,但我不确定如何从 dll 等中引用它......

这就是我设置库的方式

[解决方案文件]

  • 图书馆1
    • db.config
  • 图书馆2
    • 链接的 db.config

<configuration>
        <!-- Connection string -->
    </configuration>
  1. 如何从 dll 中引用 db.config?
  2. 如何从 Web 应用程序 web.config 引用 db.config?
4

2 回答 2

1

回答你的第一个问题:

我通常更喜欢使用像这样的 ConfigurationManager 方法之一:

http://msdn.microsoft.com/en-us/library/ms224437.aspx

或者有带有 XPath 的旧式 Xml:

XmlDocument webConfig = new XmlDocument();
webConfig.Load(dllConfigFileName);
XmlNode someNode = webConfig.SelectSingleNode("//configuration/appSettings/add[@key='someKey']");

或者更新的 LINQ to XML:

XDocument document = XDocument.Load(configFileFullName);
XElement configurationElement = document.Element("configuration");
XElement appSettingsElement = configurationElement.Element("appSettings");
List<XElement> configSettings = new List<XElement>(appSettingsElement.Descendants("add"));
于 2012-07-11T18:43:26.970 回答
1

真的很简单:

1) 如果这恰好是一个 .Net .dll,您可以将其存储在“app.config”或“web.config”中:

示例

<?xml version="1.0" encoding="utf-8" ?>
  <configuration>
    <connectionStrings>
      <add name="DigiBrd"
           connectionString="server=localhost;user id=****;Password=****;database=DigiBrd"
           providerName="MySql.Data.MySqlClient" />
  </connectionStrings>
</configuration>

String cnString =
  ConfigurationManager.ConnectionStrings["DigiBrd"].ConnectionString;

2)您还可以将连接字符串存储在 .dll 可以读取的任何位置。例如,您可以使用 .ini 文件或注册表。

3) 你可以getConnectionString()在你的 .dll 中实现一个方法。

4) 等等等等等等等等。

于 2012-07-11T18:30:47.947 回答