我想知道从asp.net中的web.config文件获取连接字符串的方法。
我只知道下面的方式。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
namespace Sherserve.DataAccessLayer
{
public class DBGateway
{
public static string conString;
public DBGateway()
{
conString = ConfigurationManager.ConnectionStrings["test"].ToString();
}
}
}
最佳答案
使用ConfigurationManager.ConnectionStrings
是唯一正确的方法,要通过健全性检查正确使用它,您可以使用以下代码:
public DBGateway()
{
ConnectionStringSettings mySetting = ConfigurationManager.ConnectionStrings["test"];
if (mySetting == null || string.IsNullOrEmpty(mySetting.ConnectionString))
throw new Exception("Fatal error: missing connecting string in web.config file");
conString = mySetting.ConnectionString;
}
万一连接字符串丢失,这将引发有用的错误,而不是神秘的“空对象”错误。
值得一提的是
ConnectionStringSettings
类覆盖了ToString()
方法:public override string ToString()
{
return this.ConnectionString;
}
因此,这意味着使用
ConfigurationManager.ConnectionStrings["test"].ToString()
与ConfigurationManager.ConnectionStrings["test"].ConnectionString
相同,但是您仍然可以更好地执行健全性检查,并且就个人而言,使用实际属性看起来更干净,而不依赖于类来提供它。