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>节点

官方解释:用于依据用户请求的URL和HTTP谓词将用户的请求交给对应的处理程序。

<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文件我们能够对程序进行灵活的控制。

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



时间: 2024-08-24 20:49:12

ASP.NET配置文件里经常使用到的节点信息的相关文章

asp.net在配置文件里设置多种编码方式的研究

我们在做asp.net的程序时,在根目录下肯定会有一个web.config的文件, 有点开发经验的可能都知道,它是配置程序的全局信息的地方, 当然了,也可以在这里做更多的事情,下面我们来研究一下 ,如何在一个配置文件里设置多种编码方式, 在项目第一次生成时,项目都会生成一个 web.config文件, web.config文件是一个xml文件,刚生成的web.config文件里,有这样一个节点: <system.web> 您可以在这个节点下设置<globalization request

ASP.NET 配置文件

花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <?xml version="1.0"?> <!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置.可以使用 Visual Studio 中的"网站"->"Asp.Net 配置"选项. 设置和注释的完

Spring.Net在ASP.NET Mvc里使用的一个小例子

就贴个小例子,就不注意格式了. 1.下载dll NuGet的下载地址:http://docs.nuget.org/docs/start-here/installing-nuget 在vs的NuGet里搜索spring.web.mvc,它会自动下载SpringNet的引用包. 安装完成之后你的项目会多三个引用,项目目录../packages文件夹下面也会多出这三个文件夹里面是SpringNet的文件. 2.写代码例子 很简单的例子.定义一个接口,一个对于接口的实现类. namespace MvcA

在ASP.NET2.0里打印网页指定的内容(比如打印网页里的一个Table)

原文:在ASP.NET2.0里打印网页指定的内容(比如打印网页里的一个Table) 打印指定内容: <html> <head> <script   type= "text/javascript "   language= "javascript "> function   printPage()   {   var   newWin   =   window.open( 'about:blank ', ' ', ' ');   v

nginx.conf配置文件里的upstream加入健康检查

查看NGINX启用了那些模块: # ./nginx -V Tengine version: Tengine/2.1.1 (nginx/1.6.2) built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) TLS SNI support enabled configure arguments: --prefix=/apps/tengine-2.1.1 loaded modules: ngx_core_module (static) ngx_errl

在eclipse的配置文件里指定jdk路径

在eclipse的配置文件里指定jdk路径,只需在eclipse的配置文件里增加-vm参数即可. 打开eclipse目录下的eclipse.ini配置文件,增加-vm配置,需要注意的是该参数要加在-vmargs之前. eclipse.ini配置文件: -startupplugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar--launcher.libraryplugins/org.eclipse.equinox.launcher.

iOS SDK 从配置文件里读SDK。转化成class 可同时加载多个SDK

首先在工程中加入XXX  plist 配置文件. 然后在key 输入名字比如allsdk  value 里填写.a 文件的名字 NSString *plistPath = [[NSBundle mainBundle]pathForResource:@"Pc_sdk" ofType:@"plist"]; NSLog(@"plistPath:%@",plistPath); NSMutableDictionary *data = [[NSMutable

ASP.NET配置文件machine.config与性能[转]

转 http://www.cnblogs.com/chenlulouis/archive/2010/05/26/1744261.html http://www.cnblogs.com/zhangronghua/archive/2008/12/23/1360759.html ASP.NET配置文件machine.config与性能 与传统的ASP不同的是,ASP.NET不是运行在IIS的地址空间,而是有自己的进程.该进程可以通过XML配置文件machine.config进行配置. ASP.NET进

ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB

在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志.错误日志,可以让我们对于系统的运行情况做到很好的掌控.同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量的数据,通过对这些数据进行集中分析,可以产生极大的价值. 在微服务的系统架构中,由于一个系统会被拆成很多个功能模块,每个模块负责不同的功能,对于日志系统的要求也会更高,比较常见的有 EFLK(ElasticSearch + Filebeat + LogStash + Kibana) 方案,而对于我们这种单体应