我想知道从网络上获取连接字符串的方法.asp中的配置文件.网

我只知道下面的路.

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;
}

这将在连接字符串丢失的情况下抛出有用的错误,而不是隐晦的"null object"错误.

值得一提的是,ConnectionStringSettings类覆盖了ToString()方法:

public override string ToString()
{
    return this.ConnectionString;
}

这意味着使用ConfigurationManager.ConnectionStrings["test"].ToString()和使用ConfigurationManager.ConnectionStrings["test"].ConnectionString是一样的,但是您仍然可以更好地执行健全性判断,而且就个人而言,使用实际属性看起来更干净,而不是依赖于类来给出它.

Asp.net相关问答推荐

ASP.NET多行查询文本框中的多个名称并将结果添加到单个网格视图

如何根据另一个下拉列表中的 Select 从下拉列表中删除一个值?

我们可以在一个网页中使用多个表单吗?

格式化 DataBinder.Eval 数据

是否可以访问位于另一个项目中的 MVC 视图?

Window.Open 使用 PDF 流而不是 PDF 位置

如果站点在 localhost 或 127.0.0.1 上运行,如何判断 ASP.NET MVC 视图

我需要更改什么以允许我的 IIS7 ASP.Net 3.5 应用程序创建事件源并将事件记录到 Windows EventLog?

Gridview ItemTemplate 中多个判断字段的最佳技术?

HttpContext.Current.Cache.Insert 和 HttpContext.Current.Cache.Add 有什么区别

哪些行为驱动开发 (BDD) 工具/框架可用于 Microsoft Stack?

Page.IsValid 是如何工作的?

将当前谷歌 map 保存为图片

VS 2010 中缺少 App_Code 文件夹

Request.Cookies 和 Response.Cookies 之间的区别

验证请求事件

回发后运行javascript函数

在 ASP.NET MVC 中模拟 User.Identity

ASP.Net 哪个用户帐户在 IIS 7 上运行 Web 服务?

您将如何将 ASP.Net MVC 嵌入到现有的网站项目中?