ASP.NET 配置文件的格式

ASP.NET 资源的配置信息包含在配置文件集中,每个文件的名称都是 Web.config。每个配置文件都包含了由用于指定配置设置的 XML 标记和子标记组成的嵌套层次结构。因为标记必须是标准格式的 XML,所以标记、子标记和属性都要区分大小写。标记和属性名都是驼峰式大小写,即标记名的第一个字符是小写,而随后的任何连接字的首字母全都是大写。属性值采用 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 类设置。 -->
   </system.net>
   <system.web>
        <authorization>
            <allow users="*"/> <!-- Allow all 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 提供的预定义的配置节处理程序,也可以创建自己的处理程序来处理自定义的配置数据。



相关主题


© 1997-2003 Microsoft Corporation。保留所有权利