为什么我们在web.config文件中存储连接字符串?这样做有什么好处?
答案 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)
想象一下,你有几个访问数据库的类;你可以:
这些具有以下特征:
因此,通过将连接字符串存储到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
来引用它们。
答案 5 :(得分:0)
它允许由维护站点的人配置连接字符串。
答案 6 :(得分:0)
如果连接字符串发生更改,则不必重新构建应用程序。管理员可以进行更改,代码保持不变。