ASP.NET项目站点配置Web.Config文件


ASP.NET配置文件是基于XML的文本文件(每个都命名为Web.Config),可以出现在ASP.NET Web应用程序服务器上的任何目录中。它可以包含标准的XML文档元素(包括格式正确的标记、注释、文本、cdata等)。该文件的编辑格式可以为ANSI、UTF-8或Unicode,系统自动检测编码。

Web.Cconfig文件中包括一些基本的节,下面分别对这些节的配置进行介绍。

 

1.配置

节主要用于配置ASP.NET 2.0身份验证。在节中,主要对mode属性进行设置,该属性共提供4个参数,分别为Windows、Forms、PassPort和None。下面分别对这4个参数进行介绍。

  (1)Windows:Internet信息服务(IIS)根据应用程序的设置执行身份验证。在IIS中必须禁止匿名访问。

  (2)Forms:需要工程创建者为用户提供一个输入凭据的自定义窗体,然后在应用程序中验证身份。用户的凭据标记存储于Cookie对象中。

  (3)PassPort:身份验证是通过Microsoft的集中身份验证服务执行的,它为成员站点提供了不同用户访问此应用程序的资源。

  (4)None:不执行身份验证。

该元素只能在计算机、站点或应用程序级声明。节必须与节配合使用。

例如,下面代码为节基于窗体(Forms)的身份验证配置站点,当没有登录的用户访问需要身份验证的网页时,网页自动跳转到登录网页,程序代码如下:

 

1 "Forms" >  
2     "logon.aspx" name=".FormsAuthCookie"/> 
3 

说明:

元素loginUrl表示登录网页的名称,name表示Cookie名称。

 

2.配置

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

例如,通过配置禁止匿名用户的访问,程序代码如下:

1  
2     "?"/>
3 
4 
5  

用户可以使用user.identity.name属性来获取已经通过验证的当前用户名,也可以使用Web.Security.FormsAuthentication.RedirectFromLoginPage方法将已验证的用户重定向到用户请求的页面。

 

3.配置

节用于配置ASP.NET 2.0应用程序的所有编译设置。节主要提供两个属性,分别为DefaultLanguage和Debug,其说明如下。

  (1)DefaultLanguage:定义了ASP.NET 2.0后台代码语言,可以设置C#、VB等语言。

  (2)Debug:该属性设置为True时,将启动aspx调试;设置为False时,可以提高应用程序的运行性能。建议在程序开发调试时,设置为Debug=“True”,交于客户使用时,设置为Debug=“False”。

 

4.配置

节用于为ASP.NET 2.0应用程序提供有关自定义错误信息的信息。它不适用于XML Web Services中发生的错误。节中主要设置mode属性,此属性共有3个属性值,其含义分别如下。

  (1)On:一直显示自定义信息。

  (2)Off:一直显示详细的ASP.NET 2.0错误信息。

  (3)RemoteOnly:只对不在本地Web服务器上运行的用户显示自定义信息。

例如,通过配置节实现当发生错误时,将网页跳转到自定义的错误页面。程序代码如下:

1 "ErrorPage.aspx" mode="RemoteOnly">
2 

 说明:

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

 

5.配置

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

例如,通过对节的设置,指定了用户上传文件最大为4M,最长时间为60s,最多请求数为100,程序代码如下:

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

6.配置

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

例如,通过配置节实现不检测用户在浏览器输入的内容中,是否存在潜在的危险数据,在从客户端回发页时将检查加密的视图状态,以及验证视图状态是否已在客户端被篡改。程序代码如下:

7.配置

节主要用于为当前应用程序配置会话状态设置(例如,设置是否启用会话状态、会话状态保存位置等)。

SessionState各参数的含义如下。

  (1)mode:该参数用于设置存储会话状态。状态包括Off、Inproc、StateServer和SqlServer。Off表示禁用会话状态,Inproc表示工作进程自身存储会话状态,StateServer表示将把会话信息存放在一个单独的ASP.NET 2.0状态服务中,SQL Server表示将把会话信息存放在SQL Server数据库中。

  (2)StateConnectionString:该参数用于设置ASP.NET 2.0应用程序存储远程会话状态的服务器名,默认名为本地。

  (3)Cookieless:当参数Cookieless的属性设置为True时,表示不使用Cookie会话标识客户;反之设置为False时,表示启动Cookie会话状态。

  (4)SqlConnectionString:该参数用于设置SQL Server数据库连接。

  (5)Timeout:该参数用于设置会话时间,超过该期限,会自动中断会话,默认设置为20。

例如,下面对节的设置,程序代码如下:


 说明:

mode="InProc"表示在本地储存会话状态(也可以选择储存在远程服务器或SAL服务器中或不启用会话状态);cookieless="true"表示如果用户浏览器不支持Cookie时启用会话状态(默认为False);timeout="20"表示会话可以处于空闲状态的分钟数。

 

8.配置

节用于配置ASP.NET 2.0跟踪服务,主要用来判断程序出错的位置。

例如,下面代码为Web.config中的默认配置:

说明:

上述代码中,enabled="false"表示不启用跟踪,requestLimit="10"表示指定在服务器上存储的跟踪请求的数目,pageOutput="false"表示只能通过跟踪实用工具访问跟踪输出,traceMode="SortByTime"表示以处理跟踪的顺序来显示跟踪信息,localOnly="true" 表示跟踪查看器(trace.axd)只用于宿主Web服务器。

 

9.自定义Web.Config文件配置

自定义Web.Config文件配置节过程分为两步,步骤如下。

  (1)在配置文件顶部标记之间,声明配置节的名称和处理该节中配置数据的.NET Framework类名称。

  (2)在区域之后,为已声明的节做实际的配置设置。

例如,下面代码演示了如何创建一个节存储数据库连接字符串:

 1 
 2   
 3     
"appSettings" type="System.Configuration.NameValueFileSectionHandler, System, Version= 1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> 4    5    6     "scon" value="server=a;database=northwind;uid=sa;pwd=123"/> 7    8    9     ..... 10    11

TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
Bing Webmaster Portal Back