认识Web.config文件



Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过VB.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的 
Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。 

在运行时对Web.config文件的修改不需要重启服务就可以生效(注:<processModel> 节例外)。当然Web.config文件是可以扩展的。你可以自定义新配置参数并编写配置节处理程序以对它们进行处理。 

二、web.config配置文件(默认的配置设置)以下所有的代码都应该位于 

<configuration> 
<system.web> 
和 

</system.web> 
</configuration> 
之间,出于学习的目的下面的示例都省略了这段XML标记 

1、<authentication> 节 

作用:配置 ASP.NET 身份验证支持(为Windows、Forms、PassPort、None四种)。该元素只能在计算机、站点或应用程序级别声明。<authentication> 元素必需与<authorization> 节配合使用。 

示例: 

以下示例为基于窗体(Forms)的身份验证配置站点,当没有登陆的用户访问需要身份验证的网页,网页自动跳转到登陆网页。 

<authentication mode="Forms" > 
<forms loginUrl="logon.aspx" name=".FormsAuthCookie"/> 

</authentication> 
其中元素loginUrl表示登陆网页的名称,name表示Cookie名称 

2、<authorization> 节 

作用:控制对 URL 资源的客户端访问(如允许匿名用户访问)。此元素可以在任何级别(计算机、站点、应用程序、子目录或页)上声明。必需与<authentication> 节配合使用。 

示例:以下示例禁止匿名用户的访问 

<authorization> 
<deny users="?"/> 
</authorization> 
注:你可以使用user.identity.name来获取已经过验证的当前的用户名;可以使用 
web.Security.FormsAuthentication.RedirectFromLoginPage方法将已验证的用户重定向到用户刚才请求的页面.具体的实例请参考: 

Forms验证 http://www.fanvb.net/websample/dataauth.aspx 

3、<compilation>节 

作用:配置 ASP.NET 使用的所有编译设置。默认的debug属性为“True”.在程序编译完成交付使用之后应将其设为True(Web.config文件中有详细说明,此处省略示例) 

4、<customErrors> 

作用:为 ASP.NET 应用程序提供有关自定义错误信息的信息。它不适用于 XML Web services 中发生的错误。 

示例:当发生错误时,将网页跳转到自定义的错误页面。 

<customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly"> 
</customErrors> 
其中元素defaultRedirect表示自定义的错误网页的名称。mode元素表示:对不在本地 Web 服务器上运行的用户显示自定义(友好的)信息。 

5、<httpRuntime>节 

作用:配置 ASP.NET HTTP 运行库设置。该节可以在计算机、站点、应用程序和子目录级别声明。 

示例:控制用户上传文件最大为4M,最长时间为60秒,最多请求数为100 

<httpRuntime maxRequestLength="4096" executi appRequestQueueLimit="100"/> 
6、 <pages> 

作用:标识特定于页的配置设置(如是否启用会话状态、视图状态,是否检测用户的输入等)。<pages>可以在计算机、站点、应用程序和子目录级别声明。 

示例:不检测用户在浏览器输入的内容中是否存在潜在的危险数据(注:该项默认是检测,如果你使用了不检测,一要对用户的输入进行编码或验证),在从客户端回发页时将检查加密的视图状态,以验证视图状态是否已在客户端被篡改。(注:该项默认是不验证) 

<pages buffer="true" enableViewStateMac="true" validateRequest="false"/> 
7、<sessionState> 

作用:为当前应用程序配置会话状态设置(如设置是否启用会话状态,会话状态保存位置)。 

示例: 

<sessionState mode="InProc" cookieless="true" timeout="20"/> 
</sessionState> 
注: 

mode="InProc"表示:在本地储存会话状态(你也可以选择储存在远程服务器或SAL服务器中或不启用会话状态) 

cookieless="true"表示:如果用户浏览器不支持Cookie时启用会话状态(默认为False) 

timeout="20"表示:会话可以处于空闲状态的分钟数 

8、<trace> 

作用:配置 ASP.NET 跟踪服务,主要用来程序测试判断哪里出错。 

示例:以下为Web.config中的默认配置: 

<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" local /> 
注: 

enabled="false"表示不启用跟踪;requestLimit="10"表示指定在服务器上存储的跟踪请求的数目 

pageOutput="false"表示只能通过跟踪实用工具访问跟踪输出; 

traceMode="SortByTime"表示以处理跟踪的顺序来显示跟踪信息 

local 表示跟踪查看器 (trace.axd) 只用于宿主 Web 服务器 

三、自定义Web.config文件配置节 

自定义Web.config文件配置节过程分为两步。 

一是在在配置文件顶部 <configSections> 和 </configSections>标记之间声明配置节的名称和处理该节中配置数据的 .NET Framework 类的名称。 

二是在 <configSections> 区域之后为声明的节做实际的配置设置。 

示例:创建一个节存储数据库连接字符串 

<configuration> 
<configSections> 
<section name="appSettings" type="System.Configuration.NameValueFileSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> 
</configSections> 

<appSettings> 
<add key="scon" value="server=a;database=northwind;uid=sa;pwd=123"/> 
</appSettings> 

<system.web> 
...... 
</system.web> 
</configuration> 
四、访问Web.config文件 

你可以通过使用ConfigurationSettings.AppSettings 静态字符串集合来访问 Web.config 文件示例:获取上面例子中建立的连接字符串。 

Dim sconstr As String = ConfigurationSettings.AppSettings("SconStr") 
Dim scon = New SqlConnection(sconstr) 







Google 输入您的搜索字词 提交搜索表单
转自:http://dotnet.e800.com.cn/articles/2007/12/1167668450683895800_1.html 

转载于:https://www.cnblogs.com/dhls/articles/918277.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410223.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

labview在2048中添加时间滚动条_Chrome优化深色模式:滚动条颜色也能跟随变化 使上网更具沉浸感...

为了让谷歌浏览器的深色模式(Dark Mode)变得更加一致,谷歌在 Chrome 的滚动条中添加了对深色模式的支持。虽然我们很多人在上网过程中可能不太关注滚动条,但这毕竟是个可喜的变化,从而让 Chrome 的深色模式更具沉浸感。滚动条并不跟随网页浏览…

linux环境安装tomcat8,启动时,报not touch:/user/tomcat/tomcat8/logs/catalina.out:not a file or directory...

问题原因:我的jdk和tomcat都放在root目录下新建的user目录中,但是在配置JAVA_HOME时,路径没有配对。配置如下: export JAVA_HOME/user/jdk/jdk1.7.0_80 export JRE_HOME/user/jdk/jdk1.7.0_80/jre export CLASSPATH.:$JAVA_HOME/l…

中国软件20年,向金山和中国软件英雄致敬!

原文题目:中国软件20年,向金山和不能忘却的中国软件英雄致敬! 12日,“中国软件20年,知识英雄再聚首”高峰论坛于在北京召开。此次活动原本是由金山软件发起组织,是金山20周年庆典活动的重要组成部分。但是活…

python prettytable_让python的print变得更好看——prettytable和colorama

【小宅按】python在输出信息的时候,通常会使用print,有没有方法可以美化一下输出的格式呢?这里介绍两个包:prettytablecolorama这两个包都不是Python的标准库,因此在使用之前,需要安装它们。pip install pr…

[html] 你有使用过output标签吗?说说它的用途有哪些?

[html] 你有使用过output标签吗?说说它的用途有哪些? 执行计算然后在 元素中显示结果个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

rational rose 逆向工程

这一节主要介绍用户如何使用Rose的逆向工程生成UML模型,并用来进行C代码的结构分析。 Rational Rose可以支持标准C和Visual C的模型到代码的转换以及逆向工程。下面将详细地说明这两种C project的逆向工程的步骤和具体操作。 2.1 ANSI C(标准C&#xff0…

springboot指定注解扫描范围

springboot注解扫描范围是由ComponentScan指定的;默认情况下为启动程序所在目录及其子包; 如果需要指定扫描路径,在启动程序中添加修改 ComponentScan(basePackages{"org.jstudio.a","org.jstudio.b"}) SpringBootApplication public class xxx…

rabbitmq中默认unack超时时间_RabbitMQ 与 Kafka 的技术差异以及使用注意点

导言作为一个有丰富经验的微服务系统架构师,经常有人问我,“应该选择RabbitMQ还是Kafka?”。基于某些原因, 许多开发者会把这两种技术当做等价的来看待。的确,在一些案例场景下选择RabbitMQ还是Kafka没什么差别&#x…

[html] 你有使用过meter标签吗?说说它的用途有哪些?

[html] 你有使用过meter标签吗&#xff1f;说说它的用途有哪些&#xff1f; <meter> 标签定义已知范围或分数值内的标量测量。也被称为 gauge&#xff08;尺度&#xff09;。个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持…

Linux环境安装zookeeper3.5.5后,总是启动不了

问题原因&#xff1a;我的jdk是1.7的&#xff0c;刚开始安装完zookeeper3.5.5之后&#xff0c;总是启动不了。查看所有的配置信息都没有问题。最后怀疑是jdk版本和zookeeper3.5.5不兼容&#xff0c;所以换了一个zookeeper3.4.14&#xff0c;终于启动成功了。好坑&#xff0c;就…

五桌面工具来创建优秀的Windows环境

很多工具并不实用&#xff0c;都说能解压文件什么的&#xff0c;今天我给你们几个牛逼的 文件修复 文件修复软件是一个功能强大的工具来修复损坏的文件。它可以扫描损坏的文件&#xff0c;并提取到一个新的可用文件的最大数据。您可以修复Word文档&#xff0c;Excel电子表格&am…

wxpython下载很慢_为什么WxPythons运动检测速度如此之慢?

我设置on_motion来处理EVT_MOTION.我希望鼠标位置以交互方式生成特定于坐标的图像,但是WxPython在注册连续的运动事件时有大约400ms的延迟.这使界面变得迟钝.为什么EVT_MOTION如此缓慢以及如何解决&#xff1f;我在Ubuntu 11.10和WinXP中试过它,延迟是可比的吗&#xff1f;我需…

假设以邻接矩阵作为图的存储结构_图的存储

因为图的结构特点&#xff0c;使得其在存储、遍历也相对复杂一些。邻接矩阵存储图最简单的方式就是将图的顶点用一维数组存储进来&#xff0c;然后将边信息存储在二维矩阵中&#xff0c;这两个数组合称为图的邻接矩阵&#xff08;Adjacency Matrix&#xff09;。无向图的邻接矩…

博客主题正在修改....

博客主题正在修改.... 转载于:https://www.cnblogs.com/lingqingxue/p/11330198.html

哎呀!小晖

哎呀&#xff01;丁俊晖又输了&#xff0c;怎么一看丁俊晖的比赛&#xff0c;他就得不了冠军呢&#xff01;不过输给了萝卜丝&#xff0c;不算丢人。 这次英锦赛傅家俊&#xff0c;虽然和小晖一样止步于八强&#xff0c;但发挥的很不错了&#xff0c;终于走出了低迷&#xff0c…

python中ndarray对象实例化_Python数据分析之Numpy学习 2——NumPy 基础 ndarray对象

Python数据分析之Numpy学习 2 —— NumPy 基础学习NumPy(Numerical Python)是高性能科学计算和数据分析的基础包。NumPy的主要对象是同构数据多维容器(homogeneous multidimensional array)——ndarray&#xff0c;也就是说每一个ndarray都是一个相同类型元素组成的表格(二维)。…

PHP常见设计模式

简单工厂<?php# 简单工厂abstract class mycoach{public function __construct(){}}class cultivatecpc extends mycoach{public function __construct(){echo "把陈培昌培养为搏击教练"."\n";}}class cultivatecj extends mycoach{public function __…

[html] 如何使用html5进行图片压缩上传?

[html] 如何使用html5进行图片压缩上传&#xff1f; 1.获取到图片的base64格式&#xff1b; 2.图片加载完成后&#xff0c;把图片转化为canvas&#xff1b; 3.使用canvas的toDataURL按照自己的需要进行压缩&#xff1b; 4.把dataURL转化成blob对象&#xff1b; 5.把blob对象转…

错误An entity with the same identity already exists in this EntitySet RIA

错误信息&#xff1a;缺少对象&#xff0c;An entity with the same identity already exists in this EntitySet RIA 解决方案&#xff1a; 1、如果你的表是要更新的&#xff0c;需要设置主键&#xff1b; 2、identity字段&#xff0c;如果你的数据中这个字段值有零的就特别要…

python实现离线翻译_10分钟教你用Python实现微信翻译机器人

相信大家在日常学习或者是阅读英文文章的过程中&#xff0c;难免会出现几个不认识的单词&#xff0c;或者想快速翻译某段英文的意思。今天&#xff0c;利用Python爬虫等知识&#xff0c;教大家打造一个微信下的翻译小助手。好吧&#xff0c;开始干活。先来看看效果如何发送要翻…