< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>
ASP.NET提供了一个丰富而可行的配置系统,以帮助管理人员轻松快速的建立自己的WEB应用环境。ASP.NET提供的是一个层次配置架构,可以帮助WEB应用、站点、机器分别配置自己的扩展配置数据。ASP.NET的配置系统具有以下优点:● ASP.NET允许配置内容可以和静态内容、动态页面和商业对象放置在同一应用的目录结构下。当管理人员需要安装新的ASP.NET应用时,只需要将应用目录拷贝到新的机器上即可。● ASP.NET的配置内容以纯文本方式保存,可以以任意标准的文本编辑器、XML解析器和脚本语言解释、修改配置内容。● ASP.NET 提供了扩展配置内容的架构,以支持第三方开发者配置自己的内容。
配置文件的语法规则
1)标识配置内容被置于config.web文件中的标记<configuration>和</configuration>之间。格式:<configuration> 配置内容… </configuration> 2)配置段句柄说明 ASP.NET的配置文件架构并未指定任何文件格式或者是支持的配置属性。相反的,它提出了“配置段句柄申明”的概念来支持任意的用户定义配置段。 格式: <configsections> <add name=欲定义配置段名 type=处理的句柄函数 /> </configsections> 3)配置段具体定义配置的内容,供应用使用。 以下例子定义了一个“httpmodules”配置段,设置了系统http相关的处理模块 <configuration> <configsections> <add name="httpmodules" type="System.Web.Configuration.HttpModulesConfigurationHandler" /> </configsections> <httpmodules> <add type="System.Web.SessionState.CookielessSessionModule" /> <add type="System.Web.Caching.OutputCacheModule" /> <add type="System.Web.SessionState.SessionStateModule" /> <add type="System.Web.Security.WindowsAuthenticationModule" /> <add type="System.Web.Security.CookieAuthenticationModule" /> <add type="System.Web.Security.PassportAuthenticationModule" /> <add type="System.Web.Security.CustomAuthenticationModule" /> <add type="System.Web.Security.UrlAuthorizationModule" /> <add type="System.Web.Security.FileAuthorizationModule" /> </httpmodules>
● ASP.NET配置文件的更修被系统自动监控,无须管理人员手工干预。
配置文件的规则
ASP.NET的配置文件是基于XML格式的纯文本文件,存在于应用的各个目录下,统一命名为“config.web”。它决定了所在目录及其子目录的配置信息,并且子目录下的配置信息覆盖其父目录的配置。WINNT\Microsoft.NET\Framework\版本号\下的config.web为整个机器的根配置文件,它定义了整个环境下的缺省配置。缺省情况下,浏览器是不能够直接访问目录下的config.web文件。在运行状态下,ASP.NET会根据远程URL请求,把访问路径下的各个config.web配置文件叠加,产生一个唯一的配置集合。举例来说,一个对URL: http://localhost\webapp\owndir\ test.aspx的访问,ASP.NET会根据以下顺序来决定最终的配置情况: 1..\Microsoft.NET\Framework\v.1.00\config.web (缺省配置文件) 2..\webapp\config.web (应用的配置) 3..\webapp\owndir\config.web (自己的配置)配置文件的语法规则
1)标识配置内容被置于config.web文件中的标记<configuration>和</configuration>之间。格式:<configuration> 配置内容… </configuration> 2)配置段句柄说明 ASP.NET的配置文件架构并未指定任何文件格式或者是支持的配置属性。相反的,它提出了“配置段句柄申明”的概念来支持任意的用户定义配置段。 格式: <configsections> <add name=欲定义配置段名 type=处理的句柄函数 /> </configsections> 3)配置段具体定义配置的内容,供应用使用。 以下例子定义了一个“httpmodules”配置段,设置了系统http相关的处理模块 <configuration> <configsections> <add name="httpmodules" type="System.Web.Configuration.HttpModulesConfigurationHandler" /> </configsections> <httpmodules> <add type="System.Web.SessionState.CookielessSessionModule" /> <add type="System.Web.Caching.OutputCacheModule" /> <add type="System.Web.SessionState.SessionStateModule" /> <add type="System.Web.Security.WindowsAuthenticationModule" /> <add type="System.Web.Security.CookieAuthenticationModule" /> <add type="System.Web.Security.PassportAuthenticationModule" /> <add type="System.Web.Security.CustomAuthenticationModule" /> <add type="System.Web.Security.UrlAuthorizationModule" /> <add type="System.Web.Security.FileAuthorizationModule" /> </httpmodules>
</configuration>
ASP.NET定义的标准配置段
9)browercaps 段: 配置浏览器的兼容部件
一个配置读出的例子
3)运行结果
Config.web配置实例