![](/img/trans.png)
[英]How to write connection string in web.config file and read from it?
[英]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.