asp.net web.config 配置文件节点说明

作者:袖梨 2022-06-25

asp教程.net web.config 配置文件节点说明
web.config文件是一个xml文本文件,它用来储存 asp.net教程 web 应用程序的配置信息(如最常用的设置asp.net web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过vb.net新建一个web应用程序后,默认情况下会在根目录自动创建一个默认的   web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。   在运行时对web.config文件的修改不需要重启服务就可以生效(注:<processmodel> 节例外)。当然web.config文件是可以扩展的。你可以自定义新配置参数并编写配置节处理程序以对它们进行处理。

web.config文件是一个xml文件,它的根结点是,在节点下的常见子节点有:ps教程ettings>、。其中节点主要用于配置一些网站的应用配置信息,而节点主要用于配置网站的数据库教程连接字符串信息。
节点主要是网站运行时的一些配置,它的常见节点有如下:

节点
节点主要用来存储asp.net应用程序的一些配置信息,比如上传文件的保存路径等,以下是一个例子:

1.
2.
3.
4.
5.
6.

对于节点中的值可以按照key来进行访问,以下就是一个读取key值为“filetype”节点值的例子:

1.string filetype=configurationmanager.appsettings["filetype "];


节点
节点主要用于配置数据库连接的,我们可以节点中增加任意个节点来保存数据库连接字符串,将来在代码中通过代码的方式动态获取节点的值来实例化数据库连接对象,这样一旦部署的时候数据库连接信息发生变化我们仅需要更改此处的配置即可,而不必因为数据库连接信息的变化而需要改动程序代码和重新部署。

节点
节点配置 asp.net 使用的所有编译设置。默认的debug属性为“true”,即允许调试,在这种情况下会影响网站的性能,所以在程序编译完成交付使用之后应将其设为“false”。

节点
设置asp.net身份验证模式,有四种身份验证模式,它们的值分别如下:
mode 说明
windows 使用windows身份验证,适用于域用户或者局域网用户。
forms 使用表单验证,依靠网站开发人员进行身份验证。
passport 使用微软提供的身份验证服务进行身份验证。
none 不进行任何身份验证。

节点

节点控制用户对网站、目录或者单独页的访问,必须配合节点一起使用。

节点
节点用于定义一些自定义错误信息的信息。此节点有mode和defaultredirect两个属性,其中defaultredirect属性是一个可选属性,表示应用程序发生错误时重定向到的默认url,如果没有指定该属性则显示一般性错误。mode属性是一个必选属性,它有三个可能值,它们所代表的意义分别如下:
mode 说明
on 表示在本地和远程用户都会看到自定义错误信息。
off 禁用自定义错误信息,本地和远程用户都会看到详细的错误信息。
remoteonly 表示本地用户将看到详细错误信息,而远程用户将会看到自定义错误信息。
这里有必要说明一下本地用户和远程用户的概念。当我们访问asp.net应用程时所使用的机器和发布asp.net应用程序所使用的机器为同一台机器时成为本地用户,反之则称之为远程用户。在开发调试阶段为了便于查找错误mode属性建议设置为off,而在部署阶段应将mode属性设置为on或者 remoteonly,以避免这些详细的错误信息暴露了程序代码细节从而引来黑客的入侵。

子节点
节点下还包含有子节点,这个节点主要是根据服务器的http错误状态代码而重定向到我们自定义的错误页面,注意要使子节点下的配置生效,必须将节点节点的mode属性设置为“on”。下面是一个例子:

1.
2.
3.
4.

在上面的配置中如果用户访问的页面不存在就会跳转到404.htm页面,如果用户没有权限访问请求的页面则会跳转到403.htm页面,403.htm和404.htm页面都是我们自己添加的页面,我们可以在页面中给出友好的错误提示。

节点
节点用于对 asp.net http 运行库设置。该节可以在计算机、站点、应用程序和子目录级别声明。
例如下面的配置控制用户最大能上传的文件为40m(40*1024k),最大超时时间为60秒,最大并发请求为100个。


节点
节点用于表示对特定页设置,主要有三个属性,分别如下:
属性名 说明
buffer 是否启用了 http 响应缓冲。
enableviewstatemac 是否应该对页的视图状态运行计算机身份验证检查 (mac),以放置用户篡改,默认为false,如果设置为true将会引起性能的降低。
validaterequest 是否验证用户输入中有跨站点脚本攻击和sql注入式漏洞攻击,默认为true,如果出现匹配情况就会发 httprequestvalidationexception 异常。对于包含有在线文本编辑器页面一般自行验证用户输入而将此属性设为false。
下面就是一个配置节点的例子:

1.
节点
节点用于配置当前asp.net应用程序的会话状态配置。以下就是一个常见配置:

1.cookieless="false" mode="inproc" timeout="30" />
上面的节点配置是设置在asp.net应用程序中启用cookie,并且指定会话状态模式为在进程中保存会话状态,同时还指定了会话超时为30分钟。
节点的mode属性可以是以下几种值之一:
属性值 说明
custom 使用自定义数据来存储会话状态数据。
inproc 默认值。由asp.net辅助进程来存储会话状态数据。
off 禁用会话状态。
sqlserver 使用进程外sql server数据库保存会话状态数据。
stateserver 使用进程外 asp.net 状态服务存储状态信息。
一般默认情况下使用inproc模式来存储会话状态数据,这种模式的好处是存取速度快,缺点是比较占用内存,所以不宜在这种模式下存储大型的用户会话数据。

节点:
用于配置应用程序的全球化设置。此节点有几个比较重要的属性,分别如下:
属性名 说明
fileencoding 可选属性。设置.aspx、.asmx 和 .asax 文件的存储编码。
requestencoding 可选属性。设置客户端请求的编码,默认为utf-8.
responseencoding 可选属性。设置服务器端响应的编码,默认为utf-8.
以下就是asp.net应用程序中的默认配置:

1.


自定义web.config文件配置节过程分为两步。   一是在在配置文件顶部 <configsections> 和 </configsections>标记之间声明配置节的名称和处理该节中配置数据的 .net framework 类的名称。   二是在 <configsections> 区域之后为声明的节做实际的配置设置。   示例:创建一个节存储数据库连接字符串   <configuration>   <configsections>   <section name="appsettings" type="system.configuration.namevaluefilesectionhandler, system, version=1.0.3300.0, culture=neutral, publickeytoken=b77a5c561934e089"/>   </configsections>   <appsettings>   <add key="scon" value="server=a;database=northwind;uid=sa;pwd=123"/>   </appsettings>   <system.web>   ......   </system.web>   </configuration>

相关文章

精彩推荐