您的位置:首页 > 移动开发

[翻译]AppSettings In web.config by K.Scott Allen

2006-12-15 15:31 483 查看
AppSettings In web.config

Written by K. Scott Allen[/b]
Translated by jiangyh

ASP.NET提供了一个灵活的配置文件管理功能。在这篇文章中我们将介绍一些使用技巧和最好的使用方法来让我们取得最好的结果。

web.config文件中的<appSettings>元素可以用来存储连接字符串、服务器名、文件路径或者其他各种各样的配置信息。appSettings中的这些配置信息结构或内容由于受系统环境的影响时常是变化的,例如,任何的数据库连接字符串在我们DB服务器从测试环境调整到真正的产品环境的时候都需要变更。

看一下下面的例子,我们来练习一下如何从web.config文件中的<appSettings>段内取得连接字符串。Web.config的配置如下

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<compilation defaultLanguage="c#" debug="true" />
</system.web>
<appSettings>
<add key="ConnectionInfo" value="server=(local);database=Northwind;Integrated Security=SSPI" />
</appSettings>
</configuration>

使用命名空间System.Configuration下的ConfigurationSettings类去取得连接字符串的内容,代码如下:

1private void Page_Load(object sender, EventArgs e)
2using System.Configuration;
2namespace aspnet.config
3private void Page_Load(object sender, EventArgs e)
2<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<compilation defaultLanguage="c#" debug="true" />
</system.web>
<appSettings file="testlabsettings.config"/>
</configuration>

下面我们来创建一个新的文件[testlabsettings.config],并且增加一个appSettings段和连接字符串的信息。

<appSettings>
<add key="ConnectionInfo" value="server=(local);database=Northwind;Integrated Security=SSPI" />
</appSettings>

如果这个扩展文件是可见的,ASP.NET能够包含web.config中appSettings段的配置信息和扩展文件的配置信息。如果一个key/value在web.config文件中和扩展文件中都存在的情况下,ASP.NET将使用扩展文件的值。

当你保持用户特定或者环境特定的配置信息在扩展文件里的时候,上面的例子将非常有用。当每一个用户或者安装的网站需要包含他们自己的配置文件的时候,请让web.config来包含这些文件并把这些配置信息作为一个全局的实例来使用。这个方法可以很容易去围绕这个全局的web.config文件变化并且也可以将web.config文件封装到控件里,而每个开发人员还可以得到他自己的设置。

有一点需要警告,ASP.NET程序无法在运行的时候检测到扩展文件的变化,你将需要手动改变web.config文件本身来启动一个新版本的ASP.NET程序

我希望本文可以在最大的程度上提供给你一些appSettings段的小技巧,如果需要更好的方法去处理配置信息,请去下载Enterprise Library
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: