VS2005中web.config的详解

 

<?xml version="1.0" encoding="utf-8" ?>

<configuration> 所有.NET配置文件所必须的根元素

<system.web> 实际ASP.NET配置设置的根元素

<!-- 动态调试编译

设置 compilation debug="true" 以启用 ASPX 调试。否则,将此值设置为false 将提高此应用程序的运行时性能。

设置 compilation debug="true" 以将调试符号(.pdb 信息)插入到编译页中。

因为这将创建执行起来较慢的大文件,所以应该只在调试时将此值设置为 true,而在所有其他时候都设置为false。有关更多信息,请参考有关调试 ASP.NET 文件的文档。

defaultLanguage="c#" 指定动态编译时使用的默认编程语言,它的值可以是compilers标记定义的任何语言。

tempDirectory 指编译过程中存储文件的目录

-->

<compilation defaultLanguage="c#" debug="true" />

<!-- 自定义错误信息

设置 customErrors mode="On" 或 "RemoteOnly" 以启用自定义错误信息,或设置为 "Off" 以禁用自定义错误信息。

为每个要处理的错误添加 <error> 标记。

"On" 始终显示自定义(友好的)信息。如果没有提供defaultRedirect属性,则用户将看到一般的错误信息.

"Off" 始终显示详细的 ASP.NET 错误信息。显示全部的错误细节

"RemoteOnly" 只对不在本地 Web 服务器上运行的用户显示自定义(友好的)信息。出于安全目的,建议使用此设置,以便不向远程客户端显示应用程序的详细信息。

-->

<customErrors mode="RemoteOnly"/>

使用customErrors 元素,可以配置应用程序响应各种HTTP错误时的行为。例如,通过如下代码,当发生404错误时,就可以把页面重新导向一个友好的页面。

<customErrors defaultRedirect=”standarderror.aspx” mode="remoteonly">

<error statuscode=”404” redirect=”filenotfound.htm”/>

</customErrors>

当发生HTTP错误时,上面的代码将把用户导向standarderror.aspx页面。如果错误是代码404(即没有发现文件),将把用户导向filenotfound.htm。但是,由于模式设置为remoteonly,所有本地的管理员将会看到真实的错误信息,而不是被导向其它的页面,但远程的客户将会看到自定义的错误页面。

<!-- 身份验证

此节设置应用程序的身份验证策略。可能的模式是 "Windows"、"Forms"、 "Passport" 和 "None"

"None" 不执行身份验证。

"Windows" IIS 根据应用程序的设置执行身份验证 包含全部的IIS身份验证,此外,NTFS在文件和目录上的权限将决定对目录中资源的访问。(基本、简要或集成 Windows)。在 IIS 中必须禁用匿名访问。

"Forms" 您为用户提供一个输入凭据的自定义窗体(Web 页),然后在您的应用程序中验证他们的身份。用户凭据标记存储在 Cookie 中。使用cookies去指出授权用户。

"Passport" 身份验证是通过 Microsoft 的集中身份验证服务执行的,它为成员站点提供单独登录和核心配置文件服务。
-->

<authentication mode="Windows" />

下面是使用Passport的身份验证的示例。在这个对目录进行配置的示例中,如果用户没有提供有效的Passport,则把用户导向login.aspx页面。

<authentication mode=”Passport”>

<passport redirectUrl=”login.aspx”/>

</authentication>

下面的示例阐明了怎样使用基于窗体的身份验证,以及怎样把有效的用户名和密码保存在配置文件中:

<authentication mode=”Forms”>

<Forms name=”SecureApplication”

loginUrl=”/secureapplication/custlogin.aspx/”>

<credentials passwordFormat=”Clear”>

<user name=”admin” password=”admin”/>

</credentials>

</forms>

</authentication>

<!-- 授权

此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问

应用程序资源。通配符: "*" 表示任何人,"?" 表示匿名

(未经身份验证的)用户。

-->



<authorization>

<allow users="*" /> <!-- 允许所有用户 -->

<!-- <allow users="[逗号分隔的用户列表]" roles="[逗号分隔的角色列表]"/>

<deny users="[逗号分隔的用户列表]" roles="[逗号分隔的角色列表]"/>

-->

</authorization>

<!-- 应用程序级别跟踪记录

应用程序级别跟踪为应用程序中的每一页启用跟踪日志输出。

设置 trace enabled="true" 可以启用应用程序跟踪记录。如果 pageOutput="true",则

在每一页的底部显示跟踪信息。否则,可以通过浏览 Web 应用程序

根目录中的 "trace.axd" 页来查看

应用程序跟踪日志。

-->

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

默认状态下,trace元素处于激活状态,但是它的输出没有显示给Web页面。在trace元素中也可以定义侦听器,侦听器其实是一些对象,使用那些对象,可以收听、收集和发送各种消息。下面代码中定义的侦听器可以把跟踪信息写到日志文件(即文本文件中):

<trace enabled="true" requestLimit=”10” pageOutput=”false”>

<listeners>

<add name=”TraceListener”type=”System.Diagnostics.TextWriterTraceListener,System”initializeData=”TraceListener.log”/>

</listeners>

</trace>

<!-- 会话状态设置

默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话。

如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。

若要禁用 Cookie,请设置 sessionState cookieless="true"。

-->

默认状态下,ASP.NET通过发送用户cookies(当用户关闭他们的浏览器时,cookies将终止),对会话状态进行维护。

<sessionState
mode="InProc" 指ASP.NET会话状态的维护工作是在本地进行的。

stateConnectionString="tcpip=127.0.0.1:42424"

sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"

cookieless="false"

timeout="20"

/>



<!-- 全球化

此节设置应用程序的全球化设置。

-->

Web站点的用户经常要发送和接收文本,这是文本编码格式的配置,默认是rtf-8。

<globalization requestEncoding="GB2312" responseEncoding="GB2312" />

</system.web>

AppSettings元素

<appSettings>元素处于<system.web>根配置之外,它是<configuration>部分的一个子元素。通过简单的指定一对名称/值,就可以添加配置设置。如:

<appSettings>

<add key="websitename" value="My New WebSite"/>

<add key="welcomemessage" value="Welcome to my new Website,friend!"/>

</appSettings>

</configuration>

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

(一).Web.Config是以XML文件规范存储,配置文件分为以下格式

1.配置节处理程序声明

特点: 位于配置文件的顶部,包含在<configSections>标志中。

2.特定应用程序配置

特点: 位于<appSetting>中。 可以定义应用程序的全局常量设置等信息.

3.配置节设置

特点: 位于<system.Web>节中,控制Asp.net运行时的行为.

4.配置节组

特点: 用<sectionGroup>标记,可以自定义分组,可以放到<configSections>内部或其它<sectionGroup>标记的内部.

(二).配置节的每一节

1.<configuration>节

根元素,其它节都是在它的内部.

2.<appSetting>节

此节用于定义应用程序设置项。对一些不确定设置,还可以让用户根据自己实际情况自己设置

用法:

I.

<appSettings>

<add key="Conntction" value="server=192.168.85.66;userid=sa;password=;database=Info;"/>

<appSettings>

定义了一个连接字符串常量,并且在实际应用时可以修改连接字符串,不用修改程式代码.

II.<appSettings>

<add key="ErrPage" value="Error.aspx"/>

<appSettings>

定义了一个错误重定向页面.

3.<compilation>节

格式:

<compilation

defaultLanguage="c#"

debug="true"

/>

I.default language: 定义后台代码语言,可以选择C#和VB.net两种语言.

IIdebug : 为true时,启动aspx调试; 为false不启动aspx调试,因而可以提高应用程序运行

时的性能。 一般程序员在开发时设置为true,交给客户时设置为false.

4.<customErrors>节

格式:

<customErrors

mode="RemoteOnly"

defaultRedirect="error.aspx"

<error statusCode="440" redirect="err440page.aspx"/>

<error statusCode="500" redirect="err500Page.aspx"/>

/>

I.mode : 具有On,Off,RemoteOnly 3种状态。On表示始终显示自定义的信息; Off表示始终显示详细的asp.net错误信息; RemoteOnly表示只对不在本地Web服务器上运行的用户显示自定义信息.

II.defaultRedirect: 用于出现错误时重定向的URL地址. 是可选的

III.statusCode: 指明错误状态码,表明一种特定的出错状态.

IV. redirect:错误重定向的URL.

5.<globalization>节

格式:

<globalization

requestEncoding="utf-8"

responseEncoding="utf-8"

fileEncoding="utf-8"

/>

I.requestEncoding: 它用来检查每一个发来请求的编码.

II.responseEncoding: 用于检查发回的响应内容编码.

III.fileEncoding: 用于检查aspx,asax等文件解析的默认编码.

6.<sessionState>节

格式:

<sessionState

mode="InProc"

stateConnectionString="tcpip=127.0.0.1:42424"

sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"

cookieless="false"

timeout="20"

/>

I.mode: 分为off,Inproc,StateServer,SqlServer几种状态

继续访问 http://blog.csdn.net/chengking/archive/2005/10/27/518079.aspx

II. stateConnectionString :指定Asp.net应用程序存储远程会话状态的服务器名,默认为本机

III.sqlConnectionString: 当用会话状态数据库时,在这里设置连接字符串

IV. Cookieless: 设置为true时,表示不使用cookie会话状态来标识客户; 否则,相反.

V. TimeOut: 用来定义会话状态存储的时间,超过期限,将自动终止会话.

7.<authentication>节

格式:

<authentication mode="Forms">

<forms name=".ASPXUSERDEMO" loginUrl="Login.aspx" protection="All" timeout="30"/>

</authentication>

<authorization>

<deny users="?"/>

</authorization>

I.Windows: 使用IIS验证方式

II.Forms: 使用基于窗体的验证方式

III.Passport: 采用Passport cookie验证模式

IV.None: 不采用任何验证方式

里面内嵌Forms节点的属性涵义:

I.Name: 指定完成身份验证的Http cookie的名称.

II.LoginUrl: 如果未通过验证或超时后重定向的页面URL,一般为登录页面,让用户重新登录

III.Protection: 指定 cookie数据的保护方式.

可设置为: All None Encryption Validation四种保护方式

a. All表示加密数据,并进行有效性验证两种方式

b. None表示不保护Cookie.

c. Encryption表示对Cookie内容进行加密

d. validation表示对Cookie内容进行有效性验证

IV. TimeOut: 指定Cookie的失效时间. 超时后要重新登录.

 转自:http://blog.163.com/dbmznjzy_yeah1/blog/static/69750651200851843557986/

posted @ 2009-06-24 13:51  树下听雨  阅读(316)  评论(0编辑  收藏  举报