当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 认识ASP.NET配置文件Web.config

ASP.NET
使用函数传递参数来执行相应的数据库操作
如何实现在窗体和窗体之间进行传递数据
ASP.NET中文显示之两种解决方法
ASP.NET、JSP及PHP之间的抉择
ASP.NET 2.0发送电子邮件中存在的问题
谈谈HtmlControl与WebControl的区别与用途
从ASP.NET 1.1升级到ASP.NET 2.0要考虑的Cookie问题
通过系统配置来提高ASP.NET应用程序的稳定性
妙用ASP2.0中的URL映射改变网址
AJAX实现web页面中级联菜单的设计
ASP.NET跨页面传值技巧总结
再议ASP.NET DataGrid控件中的“添加新行”功能
Geometry 对象浅析
重构CollapsibleSplitter
如何利用.NET Framework使用RSS feed
ASP.NET获取IP与MAC地址的方法
在ASP.NET 2.0中使用样式、主题和皮肤
ASP.NET中为GridView添加删除提示框
ASP.NET 2.0,无刷新页面新境界
看看一个.net版对话框控件

认识ASP.NET配置文件Web.config


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 58 ::
收藏到网摘: n/a

文/WATERSWEA

一、认识Web.config文件

Web.config文件是一个XML文本文件,它用来储存ASP.NETWeb应用程序的配置信息(如最常用的设置ASP.NETWeb应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过VB.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的
Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。

在运行时对Web.config文件的修改不需要重启服务就可以生效(注:<processModel>节例外)。当然Web.config文件是可以扩展的。你可以自定义新配置参数并编写配置节处理程序以对它们进行处理。

二、web.config配置文件(默认的配置设置)以下所有的代码都应该位于

<configuration>
<system.web>

</system.web>
</configuration>

之间,出于学习的目的下面的示例都省略了这段XML标记

1、<authentication>节

作用:配置ASP.NET身份验证支持(为Windows、Forms、PassPort、None四种)。该元素只能在计算机、站点或应用程序级别声明。<authentication>元素必需与<authorization>节配合使用。

示例:

以下示例为基于窗体(Forms)的身份验证配置站点,当没有登陆的用户访问需要身份验证的网页,网页自动跳转到登陆网页。

<authenticationmode="Forms">
<formsloginUrl="logon.aspx"name=".FormsAuthCookie"/>

</authentication>

其中元素loginUrl表示登陆网页的名称,name表示Cookie名称

2、<authorization>节

作用:控制对URL资源的客户端访问(如允许匿名用户访问)。此元素可以在任何级别(计算机、站点、应用程序、子目录或页)上声明。必需与<authentication>节配合使用。

示例:以下示例禁止匿名用户的访问

<authorization>
 <denyusers="?"/>
</authorization>

注:你可以使用user.identity.name来获取已经过验证的当前的用户名;可以使用
web.Security.FormsAuthentication.RedirectFromLoginPage方法将已验证的用户重定向到用户刚才请求的页面.具体的实例请参考:

Forms验证http://www.fanvb.net/websample/dataauth.aspx

3、<compilation>节

作用:配置ASP.NET使用的所有编译设置。默认的debug属性为“True”.在程序编译完成交付使用之后应将其设为True(Web.config文件中有详细说明,此处省略示例)

4、<customErrors>

作用:为ASP.NET应用程序提供有关自定义错误信息的信息。它不适用于XMLWebservices中发生的错误。

示例:当发生错误时,将网页跳转到自定义的错误页面。

<customErrorsdefaultRedirect="ErrorPage.aspx"mode="RemoteOnly">
</customErrors>

其中元素defaultRedirect表示自定义的错误网页的名称。mode元素表示:对不在本地Web服务器上运行的用户显示自定义(友好的)信息。

5、<httpRuntime>节

作用:配置ASP.NETHTTP运行库设置。该节可以在计算机、站点、应用程序和子目录级别声明。

示例:控制用户上传文件最大为4M,最长时间为60秒,最多请求数为100

<httpRuntimemaxRequestLength="4096"executionTimeout="60"appRequestQueueLimit="100"/>

6、<pages>

作用:标识特定于页的配置设置(如是否启用会话状态、视图状态,是否检测用户的输入等)。<pages>可以在计算机、站点、应用程序和子目录级别声明。

示例:不检测用户在浏览器输入的内容中是否存在潜在的危险数据(注:该项默认是检测,如果你使用了不检测,一要对用户的输入进行编码或验证),在从客户端回发页时将检查加密的视图状态,以验证视图状态是否已在客户端被篡改。(注:该项默认是不验证)

<pagesbuffer="true"enableViewStateMac="true"validateRequest="false"/>

7、<sessionState>

作用:为当前应用程序配置会话状态设置(如设置是否启用会话状态,会话状态保存位置)。

示例:

<sessionStatemode="InProc"cookieless="true"timeout="20"/>
</sessionState>

注:

mode="InProc"表示:在本地储存会话状态(你也可以选择储存在远程服务器或SAL服务器中或不启用会话状态)

cookieless="true"表示:如果用户浏览器不支持Cookie时启用会话状态(默认为False)

timeout="20"表示:会话可以处于空闲状态的分钟数

8、<trace>

作用:配置ASP.NET跟踪服务,主要用来程序测试判断哪里出错。

示例:以下为Web.config中的默认配置:

<traceenabled="false"requestLimit="10"pageOutput="false"traceMode="SortByTime"localOnly="true"/>

注:

enabled="false"表示不启用跟踪;requestLimit="10"表示指定在服务器上存储的跟踪请求的数目

pageOutput="false"表示只能通过跟踪实用工具访问跟踪输出;

traceMode="SortByTime"表示以处理跟踪的顺序来显示跟踪信息

localOnly="true"表示跟踪查看器(trace.axd)只用于宿主Web服务器

三、自定义Web.config文件配置节

自定义Web.config文件配置节过程分为两步。

一是在在配置文件顶部<configSections>和</configSections>标记之间声明配置节的名称和处理该节中配置数据的.NETFramework类的名称。

二是在<configSections>区域之后为声明的节做实际的配置设置。

示例:创建一个节存储数据库连接字符串

<configuration>
 <configSections>
 <sectionname="appSettings"type="System.Configuration.NameValueFileSectionHandler,System,Version=1.0.3300.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"/>
</configSections>

 <appSettings>
<addkey="scon"value="server=a;database=northwind;uid=sa;pwd=123"/>
 </appSettings>

 <system.web>
......
 </system.web>
</configuration>

四、访问Web.config文件

你可以通过使用ConfigurationSettings.AppSettings静态字符串集合来访问Web.config文件示例:获取上面例子中建立的连接字符串。

DimsconstrAsString=ConfigurationSettings.AppSettings("SconStr")
Dimscon=NewSqlConnection(sconstr)