在配置文件中想增加一项自己的配置,但在编译时报配置文件错误,在CONFIGURATION下增加内容如下
<configSections>
<sectionGroup name="myGroup">
</configSections><myGroup>
<add key="dsn" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\data.mdb"/>
</myGroup>
请问如何能够增加自己的配置项,如果用appSettings又改怎样修改配置文件呢?

解决方案 »

  1.   

    <configSections>
    <sectionGroup name="myGroup">
    <appSettings>
    <add key="dsn" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\data.mdb"/>
    </appSettings>
    </configSections>
      

  2.   


    一个完整的web.config<?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <appSettings>
    <add key="SQLConnString" value="server=服务器名;uid=用户id;pwd=密码;database=数据库"/>
    </appSettings>
      <system.web>    <!--  动态调试编译
              设置 compilation debug="true" 以将调试符号(.pdb 信息)
              插入到编译页中。因为这将创建执行起来
              较慢的大文件,所以应该只在调试时将该值设置为 true,而所有其他时候都设置为
              false。有关更多信息,请参考有关
              调试 ASP.NET 文件的文档。
        -->
        <compilation defaultLanguage="vb" debug="true" />    <!--  自定义错误信息
              设置 customErrors mode="On" 或 "RemoteOnly" 以启用自定义错误信息,或设置为 "Off" 以禁用自定义错误信息。 
              为每个要处理的错误添加 <error> 标记。          "On" 始终显示自定义(友好的)信息。
              "Off" 始终显示详细的 ASP.NET 错误信息。
              "RemoteOnly" 只对不在本地 Web 服务器上运行的
               用户显示自定义(友好的)信息。出于安全目的,建议使用此设置,以便 
               不向远程客户端显示应用程序的详细信息。
        -->
        <customErrors mode="Off" />    <!--  身份验证 
              此节设置应用程序的身份验证策略。可能的模式是 "Windows"、 
              "Forms"、 "Passport" 和 "None"          "None" 不执行身份验证。 
              "Windows" IIS 根据应用程序的设置执行身份验证 
                (基本、简要或集成 Windows)。在 IIS 中必须禁用匿名访问。
              "Forms" 您为用户提供一个输入凭据的自定义窗体(Web 页),然后 
               在您的应用程序中验证他们的身份。用户凭据标记存储在 Cookie 中。
              "Passport" 身份验证是通过 Microsoft 的集中身份验证服务执行的,
               它为成员站点提供单独登录和核心配置文件服务。
        -->
        <authentication mode="None" /> 
        <!--  授权 
               此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问
              应用程序资源。通配符: "*" 表示任何人,"?" 表示匿名
              (未经身份验证的)用户。
        -->
        <authorization>
            <allow users="*" /> <!-- 允许所有用户 -->            <!--  <allow     users="[逗号分隔的用户列表]"
                                 roles="[逗号分隔的角色列表]"/>
                      <deny      users="[逗号分隔的用户列表]"
                                 roles="[逗号分隔的角色列表]"/>
                -->
        </authorization>    <!--  应用程序级别跟踪记录
              应用程序级别跟踪为应用程序中的每一页启用跟踪日志输出。
              设置 trace enabled="true" 可以启用应用程序跟踪记录。如果 pageOutput="true",则
              在每一页的底部显示跟踪信息。否则,可以通过浏览 Web 应用程序
               根目录中的 "trace.axd" 页来查看
              应用程序跟踪日志。
        -->
        <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
        <!--  会话状态设置
              默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话。
              如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
             若要禁用 Cookie,请设置 sessionState cookieless="true"。
        -->
        <sessionState 
                mode="InProc"
                stateConnectionString="tcpip=127.0.0.1:42424"
                sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
                cookieless="false" 
                timeout="20" 
        />    <!--  全球化
              此节设置应用程序的全球化设置。
        -->
        <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
       
      </system.web></configuration>
      

  3.   

    直接用<appSettings><add key="dsn" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\data.mdb"/></appSettings>
    不需要声明section.
      

  4.   

    直接这样就可以了:
    <appSettings>
    <add key="dsn" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\data.mdb"/>
    </appSettings>
      

  5.   

    完整的文件
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>     <appSettings>
         <!-- 用户名和密码是自己设定的,若服务器不同请及时修改
         -->
         
           <add key="ConnectionString" value="server=s2-24;uid=sa;pwd=eoa;database=EOA"/>
         <!--  
           <add key="ConnectionString" value="server=s8-f5;uid=sa;database=EOA"/>
           -->
      </appSettings> 
        
      <system.web>    <!--  动态调试编译
              设置 compilation debug="true" 以启用 ASPX 调试。否则,将此值设置为
              false 将提高此应用程序的运行时性能。
              设置 compilation debug="true" 以将调试符号(.pdb 信息)
              插入到编译页中。因为这将创建执行起来
              较慢的大文件,所以应该只在调试时将此值设置为 true,而在所有其他时候都设置为
              false。有关更多信息,请参考有关
              调试 ASP.NET 文件的文档。
        -->
        <compilation 
             defaultLanguage="c#"
             debug="true"
        />    <!--  自定义错误信息
              设置 customErrors mode="On" 或 "RemoteOnly" 以启用自定义错误信息,或设置为 "Off" 以禁用自定义错误信息。 
              为每个要处理的错误添加 <error> 标记。          "On" 始终显示自定义(友好的)信息。
              "Off" 始终显示详细的 ASP.NET 错误信息。
              "RemoteOnly" 只对不在本地 Web 服务器上运行的
               用户显示自定义(友好的)信息。出于安全目的,建议使用此设置,以便 
               不向远程客户端显示应用程序的详细信息。
        -->
        <!--  身份验证 
              此节设置应用程序的身份验证策略。可能的模式是 "Windows"、 
              "Forms"、 "Passport" 和 "None"          "None" 不执行身份验证。 
              "Windows" IIS 根据应用程序的设置执行身份验证 
                (基本、简要或集成 Windows)。在 IIS 中必须禁用匿名访问。
              "Forms" 您为用户提供一个输入凭据的自定义窗体(Web 页),然后 
               在您的应用程序中验证他们的身份。用户凭据标记存储在 Cookie 中。
              "Passport" 身份验证是通过 Microsoft 的集中身份验证服务执行的,
               它为成员站点提供单独登录和核心配置文件服务。
        -->
        <authentication mode="Forms"><forms loginUrl = "./Index/Index.aspx" name = "FORMSAUTHCOOKIE"/>
            </authentication>
            <!--
            <authorization>
                <deny users="?"/> 
            </authorization>
            -->
        </system.web>
    </configuration>
      

  6.   

    ASP.NET 资源的配置信息包含在一组配置文件中,每个文件都名为 Web.config。每个配置文件都包含 XML 标记和子标记的嵌套层次结构,这些标记带有指定配置设置的属性。因为这些标记必须是格式正确的 XML,所以标记、子标记和属性是区分大小写的。标记名和属性名是 Camel 大小写形式的,这意味着标记名的第一个字符是小写的,任何后面连接单词的第一个字母是大写的。属性值是 Pascal 大小写形式的,这意味着第一个字符是大写的,任何后面连接单词的第一个字母也是大写的。true 和 false 例外,它们总是小写的。所有配置信息都驻留在 <configuration> 和 </configuration> 根 XML 标记之间。标记间的配置信息分为两个主区域:配置节处理程序声明区域和配置节设置区域。配置节处理程序声明出现在配置文件顶部 <configSections> 和 </configSections> 标记之间。包含在 <section> 标记中的每个声明都指定提供特定配置数据集的节的名称和处理该节中配置数据的 .NET 框架类的名称。配置节设置区域位于 <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=127.0.0.1;
                   user id=sa;password="
                cookieless="false" 
                timeout="10" 
            />
       </system.web>
    </configuration>
    ASP.NET 配置基础结构不对基础结构支持的配置数据的类型作出任何假设。配置节处理程序类处理所有 Web.config 数据。您可以使用与 .NET 框架一起提供的预定义的配置节处理程序,或者您可以创建自己的处理程序来处理自己的自定义配置数据。