从 web.config 读取连接字符串

问题描述 投票:0回答:13

如何将连接字符串从

web.config
文件读取到类库中包含的公共类中?

我已经尝试过:

WebConfigurationManager

ConfigurationManager

但是这些类在我的类库中不被识别。

c# .net asp.net web-config connection-string
13个回答
546
投票

您需要添加对

System.Configuration
的引用,然后使用:

System.Configuration.ConfigurationManager.
    ConnectionStrings["connectionStringName"].ConnectionString;

188
投票

添加

System.Configuration
作为参考。

由于某些奇怪的原因,它默认不包含在内。


67
投票

C#

// Add a using directive at the top of your code file    
using System.Configuration;

// Within the code body set your variable    
string cs = ConfigurationManager.ConnectionStrings["connectionStringName"].ConnectionString;

VB

' Add an Imports statement at the top of your code file    
Imports System.Configuration

' Within the code body set your variable    
Dim cs as String = ConfigurationManager.ConnectionStrings("connectionStringName").ConnectionString

28
投票

添加

System.Configuration
作为参考,然后:

 using System.Configuration;

 ...

 string conn = 
    ConfigurationManager.ConnectionStrings["ConnectionName"].ConnectionString;

20
投票

我想您需要添加对 System.Configuration 程序集的引用(如果尚未添加)。

此外,您可能需要在代码文件的顶部插入以下行:

using System.Configuration;

17
投票
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.DataVisualization.Charting;
using System.Web.UI.WebControls;  

C#

string constring = ConfigurationManager.ConnectionStrings["ABCD"].ConnectionString;
                using (SqlConnection con = new SqlConnection(constring))

以下 WEB.CONFIG 文件代码

<connectionStrings>
    <add name="ABCD" connectionString="Data Source=DESKTOP-SU3NKUU\MSSQLSERVER2016;Initial Catalog=TESTKISWRMIP;Integrated Security=True" providerName="System.Data.SqlClient"/>
  </connectionStrings>

上面代码中ABCD是连接名称


15
投票

VB
:这应该有效

ConfigurationManager.ConnectionStrings("SQLServer").ConnectionString

C#
将会是(根据 Ala 的评论)

ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString

11
投票

您必须在页面或类的顶部调用此类:

using System.Configuration;

然后您可以使用此方法返回准备传递给 sqlconnection 对象的连接字符串以继续您的工作,如下所示:

    private string ReturnConnectionString()
    {
       // Put the name the Sqlconnection from WebConfig..
        return ConfigurationManager.ConnectionStrings["DBWebConfigString"].ConnectionString;
    }

为了明确说明,这是网络配置中的值:

  <add name="DBWebConfigString" connectionString="....." />   </connectionStrings>

9
投票
using System.Configuration;


string conn = ConfigurationManager.ConnectionStrings["ConStringName"].ToString();

4
投票
using System.Configuration;


string connString = ConfigurationManager.ConnectionStrings["ConStringName"].ToString();

记住不要使用 ConnectionStrings[index],因为你可能需要全局机器配置和可移植性


2
投票

首先添加这个:

using System.Configuration;

1
投票

每个人似乎都建议添加

using System.Configuration;

这是真的。

但是我可以建议您考虑安装 ReSharper 的 Visual Studio 扩展吗?

安装后,您不会看到未定义类的错误,而是会看到一条提示,告诉您它位于哪个程序集中,询问您是否希望它添加所需的 using 语句。


0
投票

添加命名空间 System.Configuration 作为参考然后

using System.Configuration;

 string conn =  ConfigurationManager.ConnectionStrings["ConnectionName"].ConnectionString;
© www.soinside.com 2019 - 2024. All rights reserved.