【问题标题】:How to connect to the connection string written in the web.config of the web services如何连接到 Web 服务的 web.config 中编写的连接字符串
【发布时间】:2011-10-02 16:28:20
【问题描述】:

我们有一个名为“服务”的网络服务项目,在“服务”的 web.config 中,我将连接字符串设置如下:

<connectionStrings>
        <add name="ConnectionString" connectionString="Data Source=L308;Initial Catalog=Dashboard;Integrated Security=True"
         providerName="System.Data.SqlClient" />
    </connectionStrings>                                                                 

我正在尝试使用以下代码从另一个项目“DBConnector”访问连接字符串,但即使在将“服务”的引用添加到“DBConnector”之后也会出现空引用异常。 using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))

【问题讨论】:

  • 您是否在运行 Web 应用程序或在 DBConnector 上进行单元测试时遇到此问题?
  • @Bumble Bee- 我在使用控制台应用程序测试没有 UI 的代码时遇到错误。

标签: c# asp.net configuration connection-string


【解决方案1】:

您需要在 DBConnector 项目配置文件中包含连接字符串。添加对项目的引用不会在项目的主配置中引入该项目的配置

【讨论】:

    【解决方案2】:

    如果我得到你

    如果你想在你的库中使用服务的连接字符串,你不能这样做。您需要将其公开为属性或方法

    在你的 service.cs 中

    public string connectionstring
    {
      get
      {
        return ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
      }
    }
    

    添加了 DBConnetor 作为参考

    如果 DBconnector 已在服务层中添加为引用,那么您可以通过您编写的代码轻松访问它

    【讨论】:

      【解决方案3】:

      如果您需要将该连接字符串设为全局以便您的所有应用程序和服务都可以使用它,您需要将它放在machine.config 中。

      机器配置如果在这里找到%WinDir%\Microsoft.NET\Framework\\CONFIG.

      【讨论】:

        【解决方案4】:

        “服务”转换为“DBConnector”。

        似乎是不正确的做法。应该是反过来的!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多