簡體   English   中英

從 web.config 讀取連接字符串

[英]Read connection string from web.config

如何將web.config文件中的連接字符串讀取到包含在 class 庫中的公共 class 中?

我試過了:

WebConfigurationManager

ConfigurationManager

但是這些類在我的 class 庫中無法識別。

您需要添加對System.Configuration的引用,然后使用:

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

添加System.Configuration作為參考。

出於某種奇怪的原因,默認情況下它不包括在內。

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

然后添加System.Configuration作為參考:

 using System.Configuration;

 ...

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

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

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

using System.Configuration;
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 是連接名稱

VB中:這應該有效

ConfigurationManager.ConnectionStrings("SQLServer").ConnectionString

C#中(根據 Ala 的評論)

ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString

您必須在頁面頂部或 class 上調用此 class:

using System.Configuration;

然后,您可以使用此方法返回連接字符串以准備傳遞給 sqlconnection object 繼續您的工作,如下所示:

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

只是為了明確說明,這是 web 配置中的值:

  <add name="DBWebConfigString" connectionString="....." />   </connectionStrings>
using System.Configuration;


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


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

記住不要使用 ConnectionStrings[index] 因為你可能會使用 Global machine Config and Portability

首先添加這個:

using System.Configuration;

每個人似乎都建議添加

using System.Configuration;

這是真的。

但是我可以建議您考慮安裝 ReSharper 的 Visual Studio 擴展嗎?

安裝它后,您不會看到 class 未定義的錯誤,而是會看到一個提示,告訴您它在哪個程序集中,詢問您是否希望它添加所需的 using 語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM