Web.config文件中常用的配置节点

比较常用的配置节点有<appSettings>、<compilation>、<customErrors>、<globalization>、<sessionState>、<httpRuntime>、<trace>、<pages>、<authentication>和<authorization>等。
【分析】
本题考查了面试者对Web.config配置文件节点的熟悉程度。Web.config配置文件本质上是一个XML文本文件,编程者甚至使用任何文本编辑器编辑其中的内容(如记事本程序)。这个配置文件可用于储存ASP.NET程序的配置信息,在程序运行时Web.confi文件的修改后可及时生效(除<processModel>配置节点以外)。Web.config配置文件的根节点是<configuration>,其他的节点都位于这个节点内。
解答中所列举的多个节点为开发使用频率最高的配置信息,其基本介绍如下所示。
1.<appSettings>
用于定义应用程序设置项。例如在其中添加用于存储数据库连接字符串的<add>子节点,当然,如果程序需要其他自定义的全局配置信息,也可以在此添加相应的<add>子节点。
2.<compilation>
这个节点的常用配置属性为“debug”,顾名思义,该属性用于设置配置文件作用的范围内的程序是否启用启用 ASPX 调试。在程序开发阶段,这个属性可设置为“true”,不过在程序部署前应该将其修改为“false”,否则将影响程序运行时的性能。该节点还可添加<assemblies>子节点,在ASP.NET2.0中,常常在<assemblies>节点中添加<add>子节点,其“assembly”属性用于指定外部引用的程序集。
3.<customErrors>
上章已经对此节点有过介绍,可用于自定义错误信息的相关配置。其常用属性为“mode”,当其值为“On”或“RemoteOnly”可启用自定义错误信息,值为“Off”时禁用自定义错误信息。
说明:“mode”属性值为“On”时代表始终显示自定义(友好的)信息,如果没有设置“defaultRedirect”属性,用户将看到一般的错误信息。而“mode”属性值为“RemoteOnly”时代表只对不在本地 Web 服务器上运行的用户显示自定义(友好的)信息。
4.<globalization>
可用于设置配置文件作用的范围内全局的文本编码格式,如以下代码所示。
<globalization responseEncoding="utf-8" requestEncoding="utf-8" fileEncoding="utf-8" />
其中,“responseEncoding”属性用于设置HTTP响应的内容编码,“requestEncoding”属性用于设置每个传入的HTTP请求的假定编码。最后,“fileEncoding”属性指定用于解释*.aspx、*.asmx和*.asax文件类型中包含的数据的默认编码。如果在Web.config文件中指定了文件编码,则实际文件必须以相同编码保存。根据需要编程者可以修改为程序所适合的编码,如gb2312。
注意:如果服务器或应用程序的“fileEncoding”属性设置设置为“UTF-16”,而且“UTF-16”不是用于配置文件范围内的*.aspx页面的编码,则发送到浏览器端的输出将损坏。所以,编程者一定要确保配置的“fileEncoding”属性值与*.aspx页面中使用的编码相匹配。
5.<sessionState>
上章已经对此节点有过介绍,其“mode”属性可用于对Session数据保存方式的设置,默认值为“InProc”。其“cookieless”属性值为“true”时代表如果用户浏览器不支持Cookie时启用会话状态,默认值为“False”。
6.<httpRuntime>
用于配置ASP.NET的HTTP运行库设置,如以下代码所示。
<httpRuntime maxRequestLength="4096" executionTimeout="500" appRequestQueueLimit="200" />
以上代码可控制用户上传文件最大为4096k字节,最长时间为500s,最多请求数为200这个节点,该节点可以在计算机、站点、应用程序和子目录级别声明。
7.<trace>
用于配置ASP.NET跟踪服务,可测试程序出错的位置,如以下代码所示。
<trace enabled="true" requestLimit="10" pageOutput="true" traceMode="SortByTime" localOnly="true" />
“enabled”属性即为是否启用跟踪,“requestLimit”属性表示指定在服务器上存储的跟踪请求的数目。“pageOutput”用于设置是否在页面底部产生trace信息,“traceMode”属性可控制trace信息产生的次序,次序取值可为“SortByCategory”和“SortByTime”。“localOnly”属性可设置是否能可通过Trace Viewer(跟踪查看器)读取宿主WEB服务器内存中的trace信息。
8.<pages>
可标识特定于页面的设置(如是否启用ViewState,是否检测用户的数据等),设置配置文件作用的范围内页面的@Page指令属性,<pages>可以在计算机、站点、应用程序和子目录级别声明。只要和@Page指令联系起来,即可理解该节点的作用,如以下代码所示。
<pages autoEventWireup="true" enableEventValidation="false"
enableViewState="false" validateRequest="false">
</pages>
以上代码在配置文件作用的范围内启用事件自动绑定、禁用事件验证、禁用ViewState(视图状态)、禁用检测用户提交数据。
9.<authentication>
其“mode”属性用于设置程序的身份验证策略,取值为“Windows”、“Forms”、“Passport”和“None”,一般与<authorization>节点配合使用。
10.<authorization>
其子节点<allow>和<deny>可用于设置应用程序的授权策略。<authorization>节点可以在任何级别(计算机、站点、应用程序、子目录或页面)上声明,不过需要与<authentication>节点配合使用。
原文地址:https://www.cnblogs.com/luseike/p/2718627.html