• 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:UsersLUCKYSTARDesktop emp" /> <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,比如我们在做考试系统的时候。能够把第一个用户登录的考试页载入到缓存中。这样每一个人登录的时候直接从缓存中提取就能够了,降低了server的压力。
    
    
    
    
    
    
      <sessionState>节点
    
    用来配置当前应用程序的回话状态,这个节点事实上与ASP.NET中的内置对象session是同样的。仅仅只是是一个是局部,一个是针对于全局的
    
    

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

    以上就是在应用程序中启用cookie。并设定超时状态为30分钟
     
    
    
      总结
    
    以上就是在web.config中经常使用的几个节点设置,通过.config文件我们能够对程序进行灵活的控制。

    假设有不正确的地方。多多不吝赐教。



    
  • 相关阅读:
    java 11 值得关注的新特性
    MessageDigest来实现数据加密
    LinkedList(JDK1.8)源码分析
    gradle配置统一管理
    Android 新架构组件 -- WorkManager
    RF使用ie浏览器访问页面,浏览器启动只显示This is the initial start page for the WebDriver server,页面访问失败
    jenkins配置RF构建结果显示
    jenkins配置QQ邮箱自动发送RF测试构建结果通知邮件
    RF变量列表类型@{}和${}列表类型的关系
    jekins构建通知邮件配置及邮件附件设置,jenkins构建通知邮件没有RF的log和report文件
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5117296.html
Copyright © 2020-2023  润新知