Web.config是ASP.NET应用程序专属的xml格式配置文件,它存在于应用程序的根目录以及各个子目录中,用来存储应用程序运行所需的各类配置信息,开发者可以通过修改这个文件调整应用的行为,无需重新编译代码。

Web.config的核心作用
Web.config的作用覆盖ASP.NET应用运行的多个环节,主要包括以下几个方面:
- 存储应用程序的全局配置参数,比如自定义的键值对、业务开关等,方便统一管理和修改。
- 配置数据访问相关参数,比如数据库连接字符串,避免将敏感信息硬编码到代码中。
- 设置应用程序的安全规则,比如身份验证方式、授权规则、请求过滤规则等。
- 定义错误处理策略,比如自定义错误页面、配置异常处理的规则。
- 配置HTTP运行时的相关参数,比如请求超时时间、最大上传文件大小、会话状态存储方式等。
Web.config的基本结构
Web.config本质是标准的xml文件,整体被<configuration>根节点包裹,内部包含多个配置节,常见的结构如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- 配置节声明区域 -->
<configSections>
<section name="自定义配置节名称" type="对应的处理类型" />
</configSections>
<!-- 应用程序设置区域 -->
<appSettings>
<add key="键名" value="键值" />
</appSettings>
<!-- 数据库连接字符串区域 -->
<connectionStrings>
<add name="连接字符串名称" connectionString="数据库连接字符串内容" providerName="System.Data.SqlClient" />
</connectionStrings>
<!-- 系统配置区域 -->
<system.web>
<!-- 编译相关配置 -->
<compilation debug="true" targetFramework="4.8" />
<!-- 身份验证配置 -->
<authentication mode="Forms">
<forms loginUrl="~/Login.aspx" timeout="2880" />
</authentication>
<!-- 自定义错误配置 -->
<customErrors mode="RemoteOnly" defaultRedirect="~/Error.aspx" />
<!-- HTTP运行时配置 -->
<httpRuntime maxRequestLength="4096" executionTimeout="110" />
</system.web>
<!-- 自定义配置节内容 -->
<自定义配置节名称>
<!-- 自定义配置内容 -->
</自定义配置节名称>
</configuration>
常见配置节说明
appSettings配置节
该配置节用来存储自定义的键值对参数,开发者可以在代码中通过ConfigurationManager.AppSettings["键名"]的方式读取对应的值,示例如下:
// 读取appSettings中的配置值 string apiUrl = System.Configuration.ConfigurationManager.AppSettings["ApiBaseUrl"];
connectionStrings配置节
该配置节用来存储数据库连接字符串,支持多个连接字符串的配置,读取示例如下:
// 读取connectionStrings中的连接字符串 string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConn"].ConnectionString;
system.web配置节
这是ASP.NET应用最核心的配置节,包含大量运行时相关的配置,比如:
compilation:配置编译相关的参数,比如是否开启调试模式、目标.NET框架版本。authentication:配置身份验证的方式,支持Forms、Windows、Passport等方式。authorization:配置授权规则,控制哪些用户或角色可以访问应用的资源。customErrors:配置自定义错误页面,根据错误状态码跳转到对应的页面。httpRuntime:配置HTTP运行时的参数,比如最大请求长度、请求执行超时时间。
子目录中的Web.config继承规则
ASP.NET支持在应用的子目录中放置单独的Web.config文件,子目录的配置会继承根目录的配置,同时可以覆盖父目录的配置。比如根目录配置了禁止匿名用户访问,某个子目录需要允许匿名访问,只需要在子目录的Web.config中添加如下配置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</configuration>
这里<allow users="?" />表示允许匿名用户访问该子目录下的资源,会覆盖根目录的对应授权规则。
Web.configASP.NETxml_config配置文件修改时间:2026-06-14 20:12:21