您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 第11章 配置ASP NET应用程序资料
第11章配置ASP.NET应用程序ASP.NET拥有一个功能强大而又设置灵活的配置系统,主要是通过Web.config配置文件设置的。1.1Web.config配置文件概述Web.config配置文件是一个XML文本文件,用于存放ASP.NETWeb应用程序的配置信息。在第一次运行Web应用程序时,在出现“未启动调试”窗口时选中“添加新的启动调试的Web.config文件”,单击“确定”命令按钮时,系统自动创建一个Web.config文件。也可以通过“添加新项”,选择“Web配置文件”模板来创建一个新的Web.config文件。11.1.1Web.Config文件的特点Web.Config文件的特点如下:在运行时对Web.config文件的修改不需要重启服务就可以生效。ASP.NET可以自动监测到配置文件的更改并且将新的配置信息自动进行应用,无须管理人员手工干预。易于编辑和理解,Web.config文件基于XML的文本文件,其设置易于阅读,可以使用任何文本编辑工具来编辑。ASP.NET提供配置信息加密机制,即可对重要信息进行加密。Web.config文件是可以扩展的,可以自定义新配置参数并编写配置节处理程序以对它们进行处理。ASP.NET提供了专门用可视化工具对网站进行配置的管理模式。Web.config文件是一个基于XML格式的配置文件。Web.config文件方便地把该应用配置传到另一服务器之中。11.1.2配置文件的继承关系Web.config文件的继承关系如下:machine.config(服务器)根Web.config(根Web)网站Web.config(网站级)Web.config(ASP.NET应用程序根目录)Web.config(ASP.NET应用程序子目录)应用程序名称.config(客户端应用程序目录)。后面的配置信息可以继承并覆盖前面的设置。11.2Web.config文件11.2.1Web.config文件的结构Web.config文件是基于XML的文本文件,可出现在ASP.NETWeb应用程序服务器上的任何目录中。每个Web.config文件将配置设置应用到它所在的目录和它下面的所有虚拟子目录。Web.config文件的所有配置信息都嵌套在configuration根元素中,其常用的configuration子元素如下:location。指定应用子配置设置的资源。此元素也锁定配置设置,以防止子配置文件重写这些设置。configSections。指定配置节和命名空间声明。appSettings。包含自定义应用程序设置,如文件路径或存储在应用程序中的任何信息。connectionStrings。为ASP.NET应用程序和功能指定数据库连接字符串(名称/值对的形式)的集合。1.配置节处理程序声明区域配置节处理程序声明出现在配置文件顶部的configSections和/configSections标记之间。包含在section标记中的每个声明都指定提供特定配置数据集的节的名称和处理该节中配置数据的.NETFramework类的名称。configSections节的基本格式如下:configSectionssection/sectionGroup/remove/clear//configSections2.配置节设置区域配置节设置区域位于configSections之后,这部分包含实际的配置设置。configSections区域中的每个声明都有一个配置节。每个配置节都包含子标记,这些子标记带有包含该节设置的属性。例如,一个Web.config文件包含以下配置:configurationconfigSectionssectionGroupname=mySectionGroupsectionname=mySectiontype=System.Configuration.NameValueSectionHandler//sectionGroup/configSectionsmySectionGroupmySectionaddkey=key1value=value1//mySection/mySectionGroup/configuration11.2.2重要的配置节Web.config文件的一些重要的配置节如下:configuartionsystem.webhttpRuntime/pages/compilation/customErrors/authentication/authorization/identity/trace/sessionState/httpHandlers/httpModules/globalization//system.web/configuration元素作用httpRuntime配置ASP.NETHTTP运行库设置pages标识特定于页的配置设置compilation配置ASP.NET使用的所有编译设置customErrors为ASP.NET应用程序提供有关自定义错误信息的信息authentication配置ASP.NET身份验证支持authorization配置ASP.NET授权支持,控制对URL资源的客户端访问identity控制Web应用程序的应用程序标识trace配置ASP.NET跟踪服务sessionState为当前应用程序配置会话状态设置httpHandlers根据在请求中指定的URL和HTTP谓词,将传入的请求映射到适当的IHttpHandler或IHttpHandlerFactory类globalization配置应用程序的全球化设置compilation配置ASP.NET使用的所有编译设置表11.1常用子元素及其说明1.httpRuntime节此节用于配置ASP.NETHTTP运行时设置,以确定如何处理对ASP.NET应用程序的请求。例如,控制用户上传文件最大为4MB(4096B),最长时间为60秒,最多请求数为100:httpRuntimemaxRequestLength=4096executionTimeout=60appRequestQueueLimit=100/httpRuntime2.pages节此节用于全局定义页特定配置设置,如配置文件范围内的页和控件的ASP.NET指令。对于单个网页等同于@Page指令。例如,不检测用户在浏览器输入的内容中是否存在潜在的危险数据,在从客户端回发页时将检查加密的视图状态,以验证视图状态是否已在客户端被篡改:pagesbuffer=trueenableViewStateMac=truevalidateRequest=false/pages3.compilation节ASP.NET支持调试模式下编译的应用程序(调试模式使ASP.NET可以编译应用程序与启用了调试器密切监视和控制应用程序的执行的额外信息)。在调试模式下编译的应用程序执行像预期的那样,但是应用程序的性能受到影响。默认状态下,调试被禁用。若要启用调试,设置compilation节如下:compilationdebug=false/compilation4.customErrors节此节用于为ASP.NET应用程序提供有关自定义错误信息的信息。它不适用于Web服务中发生的错误。其子元素为error(可选),用于指定给定HTTP状态代码的自定义错误页。例如,当发生错误时,将网页跳转到自定义的错误网页ErrorPage.aspx:customErrorsdefaultRedirect=“ErrorPage.aspx”mode=RemoteOnly/customErrors5.authentication节此节为ASP.NET应用程序配置ASP.NET身份验证方案。身份验证方案确定如何识别要查看ASP.NET应用程序的用户。其mode属性指定身份验证方案,它是必选的属性,Windows(默认值):将Windows验证指定为默认的身份验证模式。将它与以下任意形式的MicrosoftInternet信息服务((IIS)身份验证结合起来使用:基本、摘要、集成Windows身份验证(NTLM/Kerberos)或证书。在这种情况下,的应用程序将身份验证责任委托给基础IISForms:将ASP.NET基于窗体的身份验证指定为默认身份验证模式Passport:将MicrosoftPassportNetwork身份验证指定为默认身份验证模式None:不指定任何身份验证。应用程序仅期待匿名用户,否则它将提供自己的身份验证例如,以下示例为基于窗体(Forms)的身份验证配置站点,当没有登陆的用户访问需要身份验证的网页,网页自动跳转到登陆网页:authenticationmode=FormsformsloginUrl=login.aspxname=FormsAuthCookie//authentication6.authorization节此节控制对URL资源的客户端访问(如允许匿名用户访问)。此元素可以在任何级别(计算机、站点、应用程序、子目录或页)上声明。必需与authentication节配合使用。其子元素有:allow向授权规则映射添加一个规则,该规则允许对资源进行访问。deny向授权规则映射添加一条拒绝对资源的访问的授权规则。例如,以下示例禁止匿名用户的访问:authorizationdenyusers=?//authorization7.trace节此节用于配置ASP.NET跟踪服务,主要用来程序测试判断哪里出错。例如,以下为Web.config中的默认配置:traceenabled=falserequestLimit=10pageOutput=falsetraceMode=SortByTimelocalOnly=true/trace8.sessionState节此节为当前应用程序配置会话状态设置(如设置是否启用会话状态,会话状态保存位置)。例如,有以下设置:sessionStatemode=InProccookieless=truetimeout=20/sessionStatemode=“InProc”表示在本地储存会话状态(也可以选择储存在远程服务器或SAL服务器中或不启用会话状态)。cookieless=“true”表示如果用户浏览器不支持Cookie时启用会话状态(默认为False)。timeout=20表示会话可以处于空闲状态的20分钟数。11.2.2在Web.config中保存自定义的设置可以在appSettings节和connectionStrings节设置一些应用程序的设置项。1.appSettings节此节用于定义应用程序设置项。对一些不确定设置,还可以让用户根据自己实际情况自己设置。例如在其中添加用于存储数据库连接字符串的子节点,当然,如果程序需要其他自定义的全局配置信息,也可以在此添加相应的子节点。appSettings元素的子元素有:add(可选的子元素)向应用程序设置集合添加名称/值对形式的自定义应用程序设置。clear(可选的子元素)移除所有对继承的自定义应用程序设置的引用,仅允许由当前add属性添加的引用。remove(可选的子元素)从应用程序设置集合中移除对继承的自定义应用程序设置的引用。例如,在Web.config文件中的appSettings节中,采用add添加了一个与SQLServer数据库Stud连接的子节点和一个Web服务子节点:appSettingsremovekey=myconnestring/addkey=myconnest
本文标题:第11章 配置ASP NET应用程序资料
链接地址:https://www.777doc.com/doc-3775080 .html