ASP.NET配置文件中常用到的节点信息



web.config文件是一个XML文件,是以<confirguration>为根结点展开的。上一面从宏观上讲解了一下有关配置的文件的内容,下面是一些有关于配置文件常用的操作。图片请详见下图


.config常用操作

 

<appSettings>节点

主要用来存储asp.net应用程序的一些配置信息,个人感觉是存储一些以后可能会变化的配置信息。例如网页中上传文件的保存路径。个人曾做过有关XML一个小型的数据库,通过<appSettings>来反射XML文件的保存路径


<appSettings >
    <!--通过一个key变量来保存XML文件的路径-->
    <add key="TITLEFILEPATH" value="~/XmlDatabase/Title.xml" />
    <add key="REPLYFILEPATH" value="~/XmlDatabase/Reply.xml" />
    <add key="ATTACHMENTFILEPATH" value="~/XmlDatabase/Attachment.xml" />
    <add key="MESSAGEFILEPATH" value="~/XmlDatabase/Message.xml" />
    <add key="MESSAGESHIELDFILEPATH" value="~/XmlDatabase/MessageShield.xml" />
    <add key="USERSTATFILEPATH" value="~/XmlDatabase/UserStat.xml" />
  </appSettings>


   配置完后,就可以根据key来读取保存的配置信息

String conStr = ConfigurationManager.ConnectionStrings[“TITLEFILEPATH”].ConnectionString;



  <connectionStrings>节点
用于配置数据库的连接,将来在代码张红通过代码的方式动态获取节点的值来实例连接对象,这样一旦部署数据库发生改变后,只需更改配置即可。但是感觉跟上面的<appSettings>节点的性质一样,只不过用法不相同而已。

<connectionStrings>
    <add name="SQLSERVERCONNECTIONSTRING" connectionString="data source=(local);user id=sa;pwd='123456';database=db_XMLBBS" providerName="System.Data.SqlClient" />
    <add name="BOARDFILEPATH" connectionString="~/XmlDatabase/Board.xml" />
    <add name="TITLEFILEPATH" connectionString="~/XmlDatabase/Title.xml" />
    <add name="REPLYFILEPATH" connectionString="~/XmlDatabase/Reply.xml" />
    <add name="ATTACHMENTFILEPATH" connectionString="~/XmlDatabase/Attachment.xml" />
    <add name="MESSAGEFILEPATH" connectionString="~/XmlDatabase/Message.xml" />
    <add name="MESSAGESHIELDFILEPATH" connectionString="~/XmlDatabase/MessageShield.xml" />
    <add name="USERSTATFILEPATH" connectionString="~/XmlDatabase/UserStat.xml" />
  </connectionStrings>

  不知大家发现了木有,用法性质相同,只不过用法不同而已






 <compilation>节点

配置ASP.NET使用的所有编译设置。



Debug:是否应编译调试二进制文件。设置为false后,程序将不能进行调试,因此在编程阶段为了调试程序将其设置为true


tempDirectory:用于临时文件存储的目录。默认值为空



<configuration>
 
    <system.web>
      <!--如果为false的话,程序将不能进行调试。但网站发布后一定要设置为false,否则将影响性能-->
      <compilation debug="false"  targetFramework="4.5" tempDirectory="C:\Users\LUCKYSTAR\Desktop\temp" />
      <httpRuntime targetFramework="4.5" />
    </system.web>
  
 
</configuration>





 <customErrors>节点

用于定义一些自定义错误信息的信息。



defaultRedirect:可选属性,表示应用程序发生错误的时候重定向到默认的URL,如果未指定则显示一般性错误。


Mode:可选属性,有三个可能值


Mode

说明

On 

表示在本地和远程用户都会看到自定义错误信息。

Off 

禁用自定义错误信息,本地和远程用户都会看到详细的错误信息。

RemoteOnly 

表示本地用户将看到详细错误信息,而远程用户将会看到自定义错误信息。


 


下面演示三种效果

<customErrors mode="RemoteOnly" >
        <error statusCode ="403" redirect ="login.htm"/>
      </customErrors>


本地效果

远程效果



 

 <error>节点

这个节点包括在<customErrors>节点中,这个节点主要是根据页面中HTTP错误状态来重定向我们自定义的错误界面,为用户提供页面错误信息


<customErrors mode ="On"  >
        <!--没有权限访问,就会跳转到403-->
        <error statusCode ="403" redirect ="403.html"/>
        <!--访问页面不存在,就会跳转到404-->
        <error statusCode ="404" redirect ="404.html"/>
      </customErrors>


就是捕捉页面中HTTP的错误信息,来实现定位到自定义错误界面






 <httpHandlers>节点

官方解释:用于根据用户请求的URLHTTP谓词将用户的请求交给相应的处理程序。

<httpHandlers>
        <add path="/*.txt" verb ="*" type ="System.Web.HttpForbiddenHandler"/>
      </httpHandlers>


个人理解:通过把某些类型的文件交给System.Web.HttpForbiddenHandler来处理,就可以为这些文件增加一些限制,如没有权限访问、不允许下载


  <httpRuntime>节点
appRequestQueueLimit:指定最大的并发应用程序的排队请求的数目
executionTimeOut:超时的时间
maxRequestLength:指定输入流缓冲最大值限制。比如上传文件的最大限制等
最大上传文件为1M,超时时间为60秒,最大请求为100

<httpRuntime maxQueryStringLength="1024" executionTimeout ="60" appRequestQueueLimit ="100"/>



  <pages>节点
用于表示对页面的设置.常用属性如下


EnableViewState:是否缓存当前界面中的信息
ValidateRequest::是否验证用户输入中有跨站点脚步攻击和SQL注入式漏洞攻击,默认为true
 
在这里最常用的就是EnableViewState,例如我们在做考试系统的时候,可以把第一个用户登录的考试页加载到缓存中,这样每个人登录的时候直接从缓存中提取就可以了,减少了服务器的压力。



  <sessionState>节点
用来配置当前应用程序的回话状态,这个节点其实与ASP.NET中的内置对象session是相同的,只不过是一个是局部,一个是针对于全局的

<sessionState cookieless="false" mode="InProc" timeout="30" /> 

以上就是在应用程序中启用cookie,并设定超时状态为30分钟
 

  总结
以上就是在web.config中常用的几个节点设置,通过.config文件我们可以对程序进行灵活的控制。如果有不对的地方,多多指教。





郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。