在web.config中存储连接字符串

时间:2010-01-15 14:38:28

标签: asp.net web-config connection-string

为什么我们在web.config文件中存储连接字符串?这样做有什么好处?

7 个答案:

答案 0 :(得分:6)

使用Web配置文件,以便您可以在应用中的任何位置引用连接。它避免了在应用程序中处理相当长的连接字符串。

这是一篇很好的文章,可能会为您提供详细信息:http://articles.sitepoint.com/article/web-config-file-demystified#

甚至还有一个wiki页面:)(令人惊讶的是): http://en.wikipedia.org/wiki/Web.config

如果您移动/更改为其他数据库格式,则可以在一个位置更改web.config文件中的连接字符串设置,而不是挖掘整个应用程序以查找它。这也避免了重新编译或构建应用程序以获取新的连接字符串设置。

如果您想知道如何从web.config文件中访问该信息,可以在此处找到:

http://msdn.microsoft.com/en-us/library/4c2kcht0(VS.85).aspx

那里还有示例代码。

答案 1 :(得分:3)

想象一下,你有几个访问数据库的类;你可以:

  1. 将连接字符串放在每个类
  2. 创建一个常量来存储该值
  3. 将其放在配置文件中并引用它
  4. 这些具有以下特征:

    1. 每次连接字符串发生更改(例如,从开发环境迁移到生产环境)时,您都需要在任何地方进行更改;
    2. 通过使用常量,您只需要更改一个地方。但在这种情况下,当需要更改字符串时,您需要重新编译它。
    3. 同上,没有重新编译部分。您可以开发应用程序,并将其他人设置为该数据库连接
    4. 因此,通过将连接字符串存储到web.config文件中,您可以比其他替代方案更灵活地更改该设置。

答案 2 :(得分:2)

原因#1
正如大家所说的那样,在web.config中使用连接字符串可以根据需要轻松更新/更改。它成为可以轻松更改参数的单一来源。

原因#2
除此之外,IIS配置为不向请求该文件的用户提供web.config。如果您的网站是,

www.mydomain.com

某人无法点击http://www.mydomain.com/web.config并删除所有机密设置,密码等。

(另外,请注意,IIS不会将App_Code目录中的文件提供给用户,因此web.config文件在这方面不是唯一的。)

原因#3
ASP.NET会自动检测配置文件的更改,并立即应用新设置。

更多信息..
MSDN讨论了ASP.NET配置系统,

http://msdn.microsoft.com/en-us/library/aa719558%28VS.71%29.aspx

答案 3 :(得分:1)

我最喜欢在web.config中使用连接字符串,这是因为您有多个要测试的环境。假设您有测试服务器,临时服务器和生产服务器。那么你不需要有代码来检查你所在的服务器,或者必须为每个服务器重新编译不同的版本...只需使用web.config来存储你的连接字符串,这样你就可以拥有不同的web。在每台服务器上配置,但相同的Web应用程序没有麻烦。您可能还需要Encrypt your Connection String Settings,以便有权访问该文件夹的所有人都无法看到它们。

答案 4 :(得分:0)

您可以通过ConfigurationManager属性使用ConnectionStrings来引用它们。

http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.connectionstrings.aspx

答案 5 :(得分:0)

它允许由维护站点的人配置连接字符串。

答案 6 :(得分:0)

如果连接字符串发生更改,则不必重新构建应用程序。管理员可以进行更改,代码保持不变。