Web.config是.NET框架中针对ASP.NET应用程序的XML格式配置文件,它存储了应用程序运行所需的各类配置信息,不需要重新编译代码就能修改应用程序的行为,是.NET应用部署和维护过程中非常重要的文件。

Web.config的基本概念
Web.config文件位于ASP.NET应用程序的根目录下,当应用程序启动时,.NET运行时会自动读取该文件中的配置内容,并按照配置规则调整应用程序的运行状态。它的核心作用是将配置信息和代码逻辑分离,方便开发者和运维人员在不修改代码的前提下调整应用程序的设置。
Web.config采用层级配置结构,如果应用程序存在子目录,子目录下也可以有自己的Web.config文件,子目录的配置会继承父目录的配置,同时可以覆盖父目录中同名的配置项。
Web.config的核心配置节点
Web.config的根节点是<configuration>,内部包含多个常用的配置节点,下面介绍几个最常见的节点:
- appSettings节点:用于存储自定义的应用程序配置项,比如系统参数、第三方接口地址等
- connectionStrings节点:用于存储数据库连接字符串,是配置数据库访问的常用节点
- system.web节点:用于存储ASP.NET运行时的核心配置,比如身份验证、错误处理、编译设置等
- system.webServer节点:用于存储IIS服务器的相关配置,比如URL重写、静态文件处理规则等
常见配置场景示例
配置自定义应用设置
如果需要在应用中存储一个系统名称的配置,可以在appSettings节点中添加对应的键值对:
<configuration>
<appSettings>
<add key="SystemName" value="后台管理系统"/>
<add key="UploadPath" value="D:upload"/>
</appSettings>
</configuration>
在C#代码中可以通过如下方式读取该配置:
using System.Configuration; string systemName = ConfigurationManager.AppSettings["SystemName"]; string uploadPath = ConfigurationManager.AppSettings["UploadPath"];
配置数据库连接字符串
配置SQL Server数据库连接字符串的示例如下:
<configuration>
<connectionStrings>
<add name="DefaultConnection"
connectionString="Server=192.168.0.1;Database=TestDB;Uid=sa;Pwd=123456;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
读取连接字符串的代码示例如下:
using System.Configuration; string connStr = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
配置自定义错误页面
可以在system.web节点中配置customErrors来设置错误页面:
<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="/Error.html">
<error statusCode="404" redirect="/404.html"/>
<error statusCode="500" redirect="/500.html"/>
</customErrors>
</system.web>
</configuration>
mode属性有三个可选值:On表示始终显示自定义错误页面,Off表示始终显示详细错误信息,RemoteOnly表示仅远程用户显示自定义错误页面,本地访问显示详细错误信息。
配置身份验证模式
如果应用需要开启Forms身份验证,可以配置如下内容:
<configuration>
<system.web>
<authentication mode="Forms">
<forms loginUrl="/Login.aspx" timeout="30" defaultUrl="/Default.aspx"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
上述配置表示未登录用户(?代表匿名用户)会被拒绝访问,自动跳转到登录页面,登录后超时时间设置为30分钟。
使用Web.config的注意事项
- Web.config修改后会自动重启应用程序,不需要手动重启站点
- XML标签区分大小写,配置节点和属性名称需要严格按照规范书写
- 敏感配置比如数据库密码不建议直接明文存储,可以使用.NET提供的加密工具对配置节进行加密
- 生产环境的配置和开发环境配置最好分开管理,避免配置冲突
Web.config.NET应用程序配置配置节点修改时间:2026-06-25 05:06:30