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

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文件,它的根结点是<configuration>,在<configuration>节点下的常见子节点有:<configsections>、<apps教程ettings>、<connectionstrings> 和<system.web>。其中<appsettings>节点主要用于配置一些网站的应用配置信息,而<connectionstrings>节点主要用于配置网站的数据库教程连接字符串信息。
<system.web>节点主要是网站运行时的一些配置,它的常见节点有如下:

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

1.<appsettings>
2. <!--允许上传的图片格式类型-->
3. <add key="imagetype" value=".jpg;.bmp;.gif;.png;.jpeg"/>
4. <!--允许上传的文件类型-->
5. <add key="filetype" value=".jpg;.bmp;.gif;.png;.jpeg;.pdf;.zip;.rar;.xls;.doc"/>
6.</appsettings>
对于<appsettings>节点中的值可以按照key来进行访问,以下就是一个读取key值为“filetype”节点值的例子:

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

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

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

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

<authentication>节点

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

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

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

1.<customerrors mode="on" defaultredirect="genericerrorpage.htm">
2. <error statuscode="403" redirect="403.htm" />
3. <error statuscode="404" redirect="404.htm" />
4.</customerrors>

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

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

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

1.<pages buffer="true" enableviewstatemac="true" validaterequest="false"/>
<sessionstate>节点
<sessionstate>节点用于配置当前asp.net应用程序的会话状态配置。以下就是一个常见配置:

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

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

1.<globalization fileencoding="utf-8" requestencoding="utf-8" responseencoding="utf-8"/>

自定义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>

时间: 2025-01-20 13:06:03

asp.net web.config 配置文件节点说明的相关文章

ASP.NET web.config 配置节点详解_基础应用

web.config 文件查找规则: (1)如果在当前页面所在目录下存在web.config文件,查看是否存在所要查找的结点名称,如果存在返回结果并停止查找. (2)如果当前页面所在目录下不存在web.config文件或者web.config文件中不存在该结点名,则查找它的上级目录,直到网站的根目录. (3)如果网站根目录下不存在web.config文件或者web.config文件中不存在该节点名则在%windir%"Microsoft.NET"Framework"v2.0.

Web.config配置文件详解

花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <?xml version="1.0"?> <!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置.可以使用 Visual Studio 中 的"网站"->"Asp.Net 配置"选项. 设置和注释的

艾伟:Web.config配置文件详解

花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点.   <?xml version="1.0"?> <!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置.可以使用 Visual Studio 中的"网站"->"Asp.Net 配置"选项. 设置和注释

web.config配置节点大全详解

web.config配置节点大全详解 web.config 文件查找规则:        (1)如果在当前页面所在目录下存在web.config文件,查看是否存在所要查找的结 点名称,如果存在返回结果并停止查找.        (2)如果当前页面所在目录下不存在web.config文件或者web.config文件中不存在 该结点名,则查找它的上级目录,直到网站的根目录.        (3)如果网站根目录下不存在web.config文件或者web.config文件中不存在该节点 名则在%wind

C#获取web.config配置文件内容的方法

本文实例讲述了C#获取web.config配置文件内容的方法.分享给大家供大家参考.具体实现方法如下: 1.ConfigurationManager提供对客户端应用程序配置文件的访问. 其有两个属性:ConnectionStrings 获取当前应用程序默认配置的 ConnectionStringsSection 数据. 方法一: 代码如下: string myConn =System.Configuration.ConfigurationManager.ConnectionStrings["sq

iis服务-对c#编写的web.config配置文件进行修改,需不需要重启IIS服务,急求答案

问题描述 对c#编写的web.config配置文件进行修改,需不需要重启IIS服务,急求答案 对c#编写的web.config配置文件进行修改,需不需要重启IIS服务,急求答案 解决方案 不需要,iis会自动检测到有修改 解决方案二: 不需要,iis会自动检测到有修改 解决方案三: 不需要重启IIS服务. 但是会话时有缓存的,测试需要把浏览器整体关闭再打开,新开会话时才会读取新的配置. 解决方案四: 不需要,如果每次修改都要重启,那岂不是很麻烦.

求:将会员的用户名和密码放在Web.config配置文件中 和 放在数据库里的数据表中的区别

问题描述 鉴于刚才发的帖子表述得非常不明确,在这里我向大牛们道歉.此贴20分,哪位大牛答好之后请移步到帖子"求:帐号密码存放在Web.config和数据中的比较"留言,分数一并给您情况如下:我开发的系统不开放注册,只开放登录功能.假设能够登录的用户有50人,每人有唯一的帐号和密码,那么这50组帐号密码是放在Web.config配置文件中比较好,还是放在数据库中,新建一张数据表存放这些用户信息比较好?注意,这个不是链接数据库的帐号密码!...请分别从效率.性能和安全性分点解答,不胜感激!

web.config配置文件链接数据库的方法

web.config配置文件链接数据库的方法 [1]在web.config配置文件中, <connectionStrings> <add name="NorthwindConnectionString" connectionString="Data Source=localhost;Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;Password=sa" provide

asp.net web.config加密解密方法_实用技巧

使用命令行工具aspnet_regiis.exe 你还能够使用aspnet_regiis.exe命令行工具来加密和解密Web.config文件配置部分,你可以在"%WINDOWSDIR%\Microsoft.Net\Framework\version"目录下找到这个工具.为了加密Web.config文件中的一个节,你可以在这个命令行工具中使用DPAPI机器密钥,如下所示: 加密一个特定网站的Web.config文件的通用形式: 复制代码 代码如下: aspnet_regiis.exe