ASP.NET配置文件里经常使用到的节点信息
web.config文件是一个XML文件,是以<confirguration>为根结点展开的。
上一面从宏观上解说了一下有关配置的文件的内容,以下是一些有关于配置文件经常使用的操作。图片请详见下图
<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配置文件里经常使用到的节点信息的更多相关文章
- asp.net在配置文件里设置多种编码方式的研究
我们在做asp.net的程序时,在根目录下肯定会有一个web.config的文件, 有点开发经验的可能都知道,它是配置程序的全局信息的地方, 当然了,也可以在这里做更多的事情,下面我们来研究一下 ,如 ...
- nginx.conf配置文件里的upstream加入健康检查
查看NGINX启用了那些模块: # ./nginx -V Tengine version: Tengine/ (nginx/) built by gcc (Red Hat -) (GCC) TLS S ...
- ASP.NET 配置文件笔记
ASP——config配置文件: WebConfig 是一个XML文件 configuration根节点<appSettings>//应用程序设置,可以定义应用程序全局常量设置信息< ...
- (转)如何在eclipse的配置文件里指定jdk路径
本文转载自:http://songguoliang.iteye.com/blog/1752519 运行eclipse时报如下错误: 在eclipse的配置文件里指定jdk路径,只需在eclipse的配 ...
- 在ASP.NET2.0里打印网页指定的内容(比如打印网页里的一个Table)
原文:在ASP.NET2.0里打印网页指定的内容(比如打印网页里的一个Table) 打印指定内容: <html> <head> <script type= " ...
- 在eclipse的配置文件里指定jdk路径
在eclipse的配置文件里指定jdk路径,只需在eclipse的配置文件里增加-vm参数即可. 打开eclipse目录下的eclipse.ini配置文件,增加-vm配置,需要注意的是该参数要加在-v ...
- 全网最详细的hive-site.xml配置文件里如何添加达到Hive与HBase的集成,即Hive通过这些参数去连接HBase(图文详解)
不多说,直接上干货! 一般,普通的情况是 全网最详细的hive-site.xml配置文件里添加<name>hive.cli.print.header</name>和<na ...
- iOS SDK 从配置文件里读SDK。转化成class 可同时加载多个SDK
首先在工程中加入XXX plist 配置文件. 然后在key 输入名字比如allsdk value 里填写.a 文件的名字 NSString *plistPath = [[NSBundle mai ...
- 如何在eclipse的配置文件里指定jdk路径
转载自:https://blog.csdn.net/gnail_oug/article/details/51925804:个人做了些小修改. 今天下载了eclipse4.6版本,打开时报Version ...
随机推荐
- solrj简介
SolrJ基于httpClient: 使用SolrJ操作Solr会比利用httpClient来操作Solr要简单. SolrJ是封装了httpClient方法,来操作solr的API的. SolrJ底 ...
- Apple iMac性能基准测试
这里我要向大家介绍的一款苹果操作系统下的性能测试软件名叫GeekBench,是加拿大PrimateLabs公司出品. 下载地址:http://www.primatelabs.ca/geekbench/ ...
- Mvc异步
<h3>MVC 自带的yibu请求</h3> <%-- 1.要执行的方法,2.控制器,3.Ajax操作--%> <%using (Ajax.BeginForm ...
- readonly&&declare&&unset &&export&&env环境变量
readonly命令用于定义只读shell变量和shell函数.readonly命令的选项-p可以输出显示系统中所有定义的只读变量. 选项 -f:定义只读函数: -a:定义只读数组变量: -p:显示系 ...
- 【习题 8-2 UVA-1610】Party Games
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 字符串排序后 显然是n/2-1和n/2这两个字符串进行比较. 设为a,b 找到第一个不相同的位置. 即0..i-1是相同的前缀,然后 ...
- Android模拟、实现、触发系统按键事件的方法
Android模拟.实现.触发系统按键事件的方法 /** * 模拟系统按键. * * @param keyCode */ public static void onKeyEvent(final ...
- Repractise基础篇:Web应用开发七日谈
Repractise基础篇:Web应用开发七日谈 本来想的仅仅是画一个例如以下的七日图来说说Web开发的.随后又想了想这似乎是一个非常棒的Web开发相关的知识介绍.应用开发是一个非常有意思的循环,多数 ...
- WinRAR 5.40无弹窗广告注册版下载
WinRAR 5.40无弹窗广告注册版下载 资料来源 http://www.heminjie.com/network/6366.html WinRAR 5.40 下载安装后,打开压缩包文件会弹出广 ...
- 七、Docker+nginx
原文:七.Docker+nginx docker run -p 80:80 --name nginx-v1.0.0 -v /usr/nginx/www:/www -v /home/docker/ngi ...
- 90.#define高级用法
define把参数变成字符串 #define f(x) printf("%s",#x); define连接两个字符串 #define a(x) a##x define把参数变成字符 ...