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

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


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

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

    我们在做asp.net的程序时,在根目录下肯定会有一个web.config的文件, 有点开发经验的可能都知道,它是配置程序的全局信息的地方, 当然了,也可以在这里做更多的事情,下面我们来研究一下 ,如 ...

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

    查看NGINX启用了那些模块: # ./nginx -V Tengine version: Tengine/ (nginx/) built by gcc (Red Hat -) (GCC) TLS S ...

  3. ASP.NET 配置文件笔记

    ASP——config配置文件: WebConfig 是一个XML文件 configuration根节点<appSettings>//应用程序设置,可以定义应用程序全局常量设置信息< ...

  4. (转)如何在eclipse的配置文件里指定jdk路径

    本文转载自:http://songguoliang.iteye.com/blog/1752519 运行eclipse时报如下错误: 在eclipse的配置文件里指定jdk路径,只需在eclipse的配 ...

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

    原文:在ASP.NET2.0里打印网页指定的内容(比如打印网页里的一个Table) 打印指定内容: <html> <head> <script   type= " ...

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

    在eclipse的配置文件里指定jdk路径,只需在eclipse的配置文件里增加-vm参数即可. 打开eclipse目录下的eclipse.ini配置文件,增加-vm配置,需要注意的是该参数要加在-v ...

  7. 全网最详细的hive-site.xml配置文件里如何添加达到Hive与HBase的集成,即Hive通过这些参数去连接HBase(图文详解)

    不多说,直接上干货! 一般,普通的情况是 全网最详细的hive-site.xml配置文件里添加<name>hive.cli.print.header</name>和<na ...

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

    首先在工程中加入XXX  plist 配置文件. 然后在key 输入名字比如allsdk  value 里填写.a 文件的名字 NSString *plistPath = [[NSBundle mai ...

  9. 如何在eclipse的配置文件里指定jdk路径

    转载自:https://blog.csdn.net/gnail_oug/article/details/51925804:个人做了些小修改. 今天下载了eclipse4.6版本,打开时报Version ...

随机推荐

  1. Codefroces Educational Round 26 837 B. Flag of Berland

    B. Flag of Berland time limit per test 1 second memory limit per test 256 megabytes input standard i ...

  2. WHU 1470 Join in tasks 水题

    http://acm.whu.edu.cn/land/problem/detail?problem_id=1470 大概是给你一个队列,每次移动队头的数到队尾并减1,如果本身这个数为1就删去. 然后a ...

  3. ps---报告当前系统的进程状态

    ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同.现在的大部分Linux系统都是可以同时使用这两种方式的. linux上进程有5种状态: ...

  4. HDU 5188 zhx and contest(带限制条件的 01背包)

    Problem Description As one of the most powerful brushes in the world, zhx usually takes part in all ...

  5. 洛谷P1143 进制转换

    题目描述 请你编一程序实现两种不同进制之间的数据转换. 输入输出格式 输入格式: 输入数据共有三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16),第二行是一个n进制数,若n>10 ...

  6. React项目编译node内存溢出

    坑爹的node 内存溢出 react开发项目  安装一个插件依赖 ,然后就报错了 报错如下(自己的没有截图出来 这是从别人的截图---报错基本差不多) 之前因为项目大而且旧的原因  使用 过      ...

  7. Js 栈和堆的实现

    一.队列和堆栈的简单介绍 1.1.队列的基本概念 队列:是一种支持先进先出(FIFO)的集合,即先被插入的数据,先被取出! 1.2.堆栈的基本概念 堆栈:是一种支持后进先出(LIFO)的集合,即后被插 ...

  8. Spring学习总结(9)——Spring AOP总结

    spring IOC和AOP是Spring框架的两大核心基石,本文将对Spring AOP做一个系统的总结. 什么是AOP AOP(Aspect-Oriented Programming,面向切面编程 ...

  9. 杭电1102 Constructing Roads

    Constructing Roads Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  10. Zorka和zico实现不同主机之间的交互

    之前参考下面的两篇博文进行了zorka以及其collector端zico的配置. http://quyuxjtu.sinaapp.com/?p=532 http://quyuxjtu.sinaapp. ...