一、认识到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配置文件(绑定的装配设置)以下所有的代码都一定会座落
<configuration>
<system.web>
和
</system.web>
</configuration>
之间,出于修习的目的下面的示例都省略了这段XML标记
1、<authentication> 节
主导作用:可用 ASP.NET 身份验证默许(为Windows、Forms、PassPort、None四种)。该元素不用在计算机、站点或应用程序级别声明。<authentication> 元素需要与<authorization> 节辅以常用。
示例:
以下示例为基于窗体(Forms)的身份验证固定式站点,当没有人进发的用户出访无需身份验证的网页,网页自动重定向到直扑网页。
<authentication mode="Forms" >
<forms loginUrl="logon.aspx" name=".FormsAuthCookie"/>
</authentication>
其中元素loginUrl透露起航网页的名称,name说明Cookie名称
2、<authorization> 节
效用:管控对 URL 资源的客户端出访(如强制博客用户出访)。此元素可以在任何级别(计算机、站点、应用程序、子目录或页)上声明。必要与<authentication> 节适切用到。
示例:以下示例未经许可据称用户的出访
<authorization>
<deny users="?"/>
</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 应用程序透过有关自定义错误信息的信息。它疲倦可用 XML Web services 中牵涉到的错误。
示例:当时有发生错误时,将网页反转到自定义的错误页面。
<customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly">
</customErrors>
其中元素defaultRedirect问到自定义的错误网页的名称。mode元素透露:对不出本地 Web 服务器上直通的用户标示出自定义(密切合作的)信息。
5、<httpRuntime>节
发挥作用:备有 ASP.NET HTTP 运行库设置。该节可以在计算机、站点、应用程序和子目录级别声明。
示例:支配用户上载文件最主要为4M,仅有时间为60秒,最多立即数为100
<httpRuntime maxRequestLength="4096" executionTimeout="60" appRequestQueueLimit="100"/>
6、 <pages>
抑制作用:标识特定于页的系统设计设置(如应该竣工则会话状态、视图状态,否检测用户的输出等)。<pages>可以在计算机、站点、应用程序和子目录级别声明。
示例:不检测用户在浏览器转换成的内容中否长期存在潜在的危险数据(中有:该项当前是检测,如果你运用于了不检测,一要对用户的回传展开编码或检验),在从客户端回发页时将检查加密的视图状态,以证明视图状态应该已在客户端被窜改。(唯:该项意味着是不可验证)
<pages buffer="true" enableViewStateMac="true" validateRequest="false"/>
7、<sessionState>
效用:为当前应用程序装配不会话状态设置(如设置到底竣工不会话状态,可能会话状态留有右边)。
示例:
<sessionState mode="InProc" cookieless="true" timeout="20"/>
</sessionState>
引:
mode="InProc"对此:在本地储存但会话状态(你也可以自由选择储存在远程服务器或SAL服务器中或不完工就会话状态)
cookieless="true"对此:如果用户浏览器不反对Cookie时停用都会话状态(意味着为False)
timeout="20"声称:不会话可以属于空闲状态的分钟数
8、<trace>
功用:可用 ASP.NET 跟踪服务,主要用来程序测试假定哪里丢失。
示例:以下为Web.config中的匹配配有:
<trace enabled="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>标记之间声明装配节的名称和处置该节中内置数据的 .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>
四、出访Web.config文件
你可以通过常用ConfigurationSettings.AppSettings 静态字符串等价来回访 Web.config 文件示例:利用上面例子中构建的相互连接字符串。
Dim sconstr As String = ConfigurationSettings.AppSettings("SconStr")
Dim scon = New SqlConnection(sconstr) 检测用户在浏览器输出的内容中否共存潜在的危险数据(中有:该项选项是检测,如果你常用了不检测,一要对用户的输出完成编码或解析),在从客户端回发页时将检查加密的视图状态,以的测试视图状态有否已在客户端被掩盖。(引:该项匹配是不正确性)
<pages buffer="true" enableViewStateMac="true" validateRequest="false"/>
7、<sessionState>
效用:为当前应用程序备有不会话状态设置(如设置有否动工才会话状态,时会话状态复原前方)。
示例:
<sessionState mode="InProc" cookieless="true" timeout="20"/>
</sessionState>
出处:
mode="InProc"透露:在本地储存不会话状态(你也可以为了让储存在远程服务器或SAL服务器中或不开业可能会话状态)
cookieless="true"透露:如果用户浏览器不拥护Cookie时完工就会话状态(普通用户为False)
timeout="20"透露:才会话可以属于空闲状态的分钟数
8、<trace>
发挥作用:备有 ASP.NET 跟踪服务,主要用来程序测试确实哪里分心。
示例:以下为Web.config中的当前可用:
<trace enabled="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>标记之间声明备有节的名称和执行该节中配备数据的 .NET Framework 类的名称。
二是在 <configSections> 区域之后为声明的节好好实际的内置设置。
示例:创始一个节存储数据库相互连接字符串
<configuration>
<configSections>
<section name="appSettings" type="System.Configuration.NameValueFileSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</configSections>