ASP.NET 配置文件的格式

ASP.NET 资源的配置信息包含在一组配置文件中,每个文件都名为 Web.config。每个配置文件都包含 XML 标记和子标记的嵌套层次结构,这些标记带有指定配置设置的属性。因为这些标记必须是格式正确的 XML,所以标记、子标记和属性是区分大小写的。标记名和属性名是 Camel 大小写形式的,这意味着标记名的第一个字符是小写的,任何后面连接单词的第一个字母是大写的。属性值是 Pascal 大小写形式的,这意味着第一个字符是大写的,任何后面连接单词的第一个字母也是大写的。truefalse 例外,它们总是小写的。

所有配置信息都驻留在 <configuration> </configuration> 根 XML 标记之间。标记间的配置信息分为两个主区域:配置节处理程序声明区域和配置节设置区域。

配置节处理程序声明出现在配置文件顶部 <configSections> </configSections> 标记之间。包含在 <section> 标记中的每个声明都指定提供特定配置数据集的节的名称和处理该节中配置数据的 .net Framework 类的名称。

配置节设置区域位于 <configSections> 区域之后,它包含实际的配置设置。<configSections> 区域中的每个声明都有一个配置节。每个配置节都包含子标记,这些子标记带有包含该节设置的属性。

下面的 Web.config 文件示例声明两个配置 <section> 处理程序。一个管理应用程序设置,另一个管理会话状态。

<configuration>
   <configSections>
      <section name="appSettings"   
         type="System.Configuration.NameValueFileSectionHandler, 
         System, Version=1.0.3300.0, 
         Culture=neutral, PublicKeyToken=b77a5c561934e089"/>         
      <section name="sessionState" 
         type="System.Web.SessionState.SessionStateSectionHandler, 
         System.Web, Version=1.0.3300.0, Culture=neutral, 
         PublicKeyToken=b03f5f7f11d50a3a" 
         allowDefinition="MachineToApplication"/>
   </configSections>

   <appSettings>
      <add key="dsn" value="localhost;uid=MyUserName;pwd=;"/>
      <add key="msmqserver" value="server/myqueue"/>
   </appSettings>
   
   <sessionState cookieless="true" timeout="10"/>
</configuration>

您只需要声明配置节处理程序一次。您可以将其放置在服务器的根 Machine.config 文件中或包含 Web 应用程序文件的虚拟目录的 Web.config 文件中。子目录中的配置文件自动继承父目录中声明的配置处理程序。有关更多信息,请参见配置继承。

配置设置在节分组标记下经常嵌套在一起。这些顶级节标记通常表示配置设置应用到的命名空间。例如,顶级 <system.net> 标记表示网络类的设置,<system.web> 标记表示 ASP.NET 类的设置。

下面的示例显示标记嵌套。

<configuration>
   <configSections>
      <sectionGroup name="system.net">
         <section name="authenticationModules"
            type="System.Net.Configuration.NetAuthenticationModuleHandler, 
            System, Version=1.0.3300.0, Culture=neutral, 
            PublicKeyToken=b77a5c561934e089"/>                               
         <section name="webRequestModules" 
            type="System.Net.Configuration.WebRequestModuleHandler, 
            System, Version=1.0.3300.0, Culture=neutral,
            PublicKeyToken=b77a5c561934e089"/>
       </sectionGroup>

       <sectionGroup name="system.web">
          <section name="authorization" 
             type="System.Web.Configuration.AuthorizationConfigHandler, 
             System.Web, Version=1.0.3300.0, Culture=neutral, 
             PublicKeyToken=b03f5f7f11d50a3a"/>            
          <section name="sessionState" 
             type="System.Web.SessionState.SessionStateSectionHandler,
             System.Web, Version=1.0.3300.0, Culture=neutral,
             PublicKeyToken=b03f5f7f11d50a3a"
             allowDefinition="MachineToApplication"/>        
       </sectionGroup>
    </configSections>

   <system.net>
      <! — Net Class Settings would go here. -->
   </system.net>
   <system.web>
        <authorization>
            <allow users="*"/> <!-- Allow all users -->
            <!-- Allow or deny specific users.
            allow users="[comma separated list of users]"
                  roles="[comma separated list of roles]"/>
            <deny users="[comma separated list of users]"
                  roles="[comma separated list of roles]"/>
            -->
        </authorization>
        <sessionState 
            sqlConnectionString="data source=localhost;
               Integrated Security=SSPI;
               Initial Catalog=northwind"
            cookieless="false" 
            timeout="10"/>
   </system.web>
</configuration>

ASP.NET 配置基础结构不对基础结构支持的配置数据的类型作出任何假设。配置节处理程序类处理所有 Web.config 数据。您可以使用与 .net Framework 一起提供的预定义的配置节处理程序,或者您可以创建自己的处理程序来处理自己的自定义配置数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值