我想知道从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相同,但是您仍然可以更好地执行健全性检查,并且就个人而言,使用实际属性看起来更干净,而不依赖于类来提供它。

10-07 17:46