自定义web.config节点

合集下载

Web.config常用配置说明

Web.config常用配置说明

web.config文件是一个XML文件,它的根结点是<configuration>,在<configuration>节点下的常见子节点有:<configSections>、<appSettings>、<connectionStrings>和<system.web>。

其中<appSettings>节点主要用于配置一些网站的应用配置信息,而<connectionStrings>节点主要用于配置网站的数据库连接字符串信息。

<system.web>节点主要是网站运行时的一些配置,它的常见节点有如下:Web.config常用配置<appSettings>节点<appSettings>节点主要用来存储应用程序的一些配置信息,系统常用的一些全局变量,如上传文件的保存路径等。

<appSettings><!--允许上传的图片格式类型--><add key="ImageType" value=".jpg;.bmp;.gif;.png;.jpeg"/><!--允许上传的文件类型--><add key="FileType" value=".jpg;.bmp;.gif;.png;.jpeg;.pdf;.zip;.rar;.xls;.doc"/></appSettings>对于<appSettings>节点中的值可以按照key来进行访问,以下就是一个读取key值为“FileType”节点值的例子:string fileType=ConfigurationManager.AppSettings["FileType "];<authentication>节点设置身份验证模式,有四种身份验证模式,它们的值分别如下:Mode 说明Windows 使用Windows身份验证,适用于域用户或者局域网用户。

解决在Web.config或App.config中添加自定义配置的方法详解

解决在Web.config或App.config中添加自定义配置的方法详解

解决在Web.config或App.config中添加自定义配置的方法详解本篇文章是对在Web.config或App.config中添加自定义配置的方法进行了详细的分析介绍,需要的朋友参考下.Net中的System.Configuration命名空间为我们在web.config或者app.config中自定义配置提供了完美的支持。

最近看到一些项目中还在自定义xml文件做程序的配置,所以忍不住写一篇用系统自定义配置的随笔了。

如果你已经对自定义配置了如指掌,请忽略这篇文章。

言归正传,我们先来看一个最简单的自定义配置<?xml version="1.0" encoding="utf-8" ?><configuration><configSections><section name="simple"type="ConfigExample.Configuration.SimpleSection,ConfigExample"/></configSections><simple maxValue="20" minValue="1"></simple></configuration>在配置文件中使用自定义配置,需要在configSections中添加一个section元素,并制定此section元素对应的类型和名字。

然后再在configuration根节点下面添加此自定义配置,如上例中的simple节点。

simple节点只有两个整形数的属性maxValue和minValue。

要在程序中使用自定义配置我们还需要实现存取这个配置块的类型,一般需要做如下三件事:1. 定义类型从System.Configuration.ConfigurationSection继承2. 定义配置类的属性,这些属性需要用ConfigurationProperty特性修饰,并制定属性在配置节中的名称和其他一些限制信息3. 通过基类的string索引器实现属性的get ,set非常简单和自然,如下是上面配置类的实现:public class SimpleSection:System.Configuration.ConfigurationSection{[ConfigurationProperty("maxValue",IsRequired=false,DefaultValue=Int32.MaxValue)]public int MaxValue{get{return(int)base["maxValue"];}set{base["maxValue"] = value;}}[ConfigurationProperty("minValue",IsRequired=false,DefaultValue=1)]public int MinValue{get { return (int) base["minValue"];}set { base["minValue"] = value; }}[ConfigurationProperty("enabled",IsRequired=false,DefaultValue=true)]public bool Enable{get{return (bool)base["enabled"];}set{base["enabled"] = value;}}}这样子一个简单的配置类就完成了,怎么在程序中使用这个配置呢?需要使用ConfigurationManager类(要引用System.configuration.dll这个dll只有在.Net2.0之后的版本中才有)的GetSection方法获得配置就可以了。

配置webconfig

配置webconfig

配置webconfig记录下webconfig的配置(复制很久的笔记):1、配置Session在url传递在web.config中的 <system.web> 节点下添加,⼿动修改session的相关设置<sessionState timeout="5" cookieless="true"> </sessionState>2、配置上传⽂件⼤于4M,⾥⾯是字节数,⽐如下⾯10M是1024*1024*10<system.web><httpRuntime targetFramework="4.5" maxRequestLength="10485760"/></system.web>3、⽐如上传1g的内容。

请求的筛选模块是被直接拒绝,不会到后台指定的页⾯的,跟上⾯的界⾯配置要相同才⾏<configuration><system.webServer><security><requestFiltering><requestLimits maxAllowedContentLength="1073741824"></requestLimits></requestFiltering></security></system.webServer></configuration>4、⾃定义⼀般处理程序类及配置①新建⼀个类,继承IHttpHandler,实现⾥⾯的ProcessRequest⽅法与IsReusable属性。

属性中如果get{return false;}表⽰每次浏览器的请求都会新创建这个⼀般处理程序的类的对象,为true每次浏览器请求都是重⽤第⼀次创建的类的对象②⽐如⽤户需要xxx.hh这样⼦在浏览器中访问,我们新建的这个类继承IhttpHandler接⼝之后实现⾥⾯的代码专门接管处理这样的需求。

Web.config详解

Web.config详解

一、认识Web.config文件Web.config 文件是一个XML文本文件,它用来储存 Web 应用程序的配置信息(如最常用的设置 Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。

当你通过.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。

如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件。

它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。

(一).Web.Config是以XML文件规范存储,配置文件分为以下格式1.配置节处理程序声明特点:位于配置文件的顶部,包含在<configSections>标志中。

2.特定应用程序配置特点: 位于<appSetting>中。

可以定义应用程序的全局常量设置等信息.3.配置节设置特点: 位于<system.Web>节中,控制运行时的行为.4.配置节组特点: 用<sectionGroup>标记,可以自定义分组,可以放到<configSections>内部或其它<sectionGroup>标记的内部.(二).配置节的每一节1.<configuration>节根元素,其它节都是在它的内部.2.<appSetting>节此节用于定义应用程序设置项。

对一些不确定设置,还可以让用户根据自己实际情况自己设置用法:I.<appSettings><add key="Conntction" value="server=192.168.85.66;userid=sa;password=;database=Info;"/><appSettings>定义了一个连接字符串常量,并且在实际应用时可以修改连接字符串,不用修改程式代码. II.<appSettings><add key="ErrPage" value="Error.aspx"/><appSettings>定义了一个错误重定向页面.3.<compilation>节格式:<compilationdefaultLanguage="c#"debug="true"/>I.default language: 定义后台代码语言,可以选择C#和两种语言.IIdebug : 为true时,启动aspx调试;为false不启动aspx调试,因而可以提高应用程序运行时的性能。

web.config中节点配置的实战应用

web.config中节点配置的实战应用

web.config中节点配置的实战应用当我们完成了web开发,并将站点部署到服务器上以后,难免会因为各种原因,碰到网站报错的问题。

而当我们打开服务器链接时,结果一般是这样的:而打开本地链接是这样的:这个显示结果,就是web.config中<customErrors>节点配置造成的。

<customErrors>节点用于定义一些自定义错误信息的信息。

此节点有Mode和defaultRedirect两个属性,其中defaultRedirect属性是一个可选属性,表示应用程序发生错误时重定向到的默认URL,如果没有指定该属性则显示一般性错误。

Mode属性是一个必选属性,它有三个可能值,它们所代表的意义分别如下:Mode 说明On 表示在本地和远程用户都会看到自定义错误信息。

Off 禁用自定义错误信息,本地和远程用户都会看到详细的错误信息。

RemoteOnly 这个是缺省值,表示本地用户将看到详细错误信息,而远程用户将会看到自定义错误信息。

这里有必要说明一下本地用户和远程用户的概念。

当我们访问应用程时所使用的机器和发布应用程序所使用的机器为同一台机器时称为本地用户,反之则称之为远程用户。

所以在默认 Mode=” RemoteOnly”时,我们在服务器打开服务器链接,也会看到以下页面:在开发调试阶段为了便于查找错误Mode属性建议设置为Off,而在部署阶段应将Mode属性设置为On或者RemoteOnly,以避免这些详细的错误信息暴露了程序代码细节从而引来黑客的入侵。

我们先配置<customErrors>如下:<customErrors mode="RemoteOnly"defaultRedirect="ErrorPage.html" />并在根目录下添加HTML页面ErrorPage.html:<!DOCTYPE html><html><head><meta charset="utf-8" /><title></title></head><body>This is ErrorPage!</body></html>这时如果本地运行报错,将看到以下页面:远程访问时看到的效果:如果我们将customErrors的Mode属性设置为“On”本地运行和远程访问都会看到如下效果:如果将customErrors的Mode属性设置为“Off”本地运行和远程访问都会看到如下效果:另外,在<customErrors>节点下还包含有<error>子节点,这个节点主要是根据服务器的HTTP错误状态代码而重定向到我们自定义的错误页面,注意要使<error>子节点下的配置生效,必须将<customErrors>节点节点的Mode属性设置为“On”。

webconfig配置全面介绍要点

webconfig配置全面介绍要点

一、认识Web.config文件Web.config 文件是一个xml文本文件,它用来储存 Web 应用程序的配置信息(如最常用的设置 Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。

当你通过.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。

如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件。

它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。

(一).Web.Config是以xml文件规范存储,配置文件分为以下格式1.配置节处理程序声明特点:位于配置文件的顶部,包含在<configSections>标志中。

2.特定应用程序配置特点: 位于<appSetting>中。

可以定义应用程序的全局常量设置等信息.3.配置节设置特点: 位于<system.Web>节中,控制运行时的行为.4.配置节组特点: 用<sectionGroup>标记,可以自定义分组,可以放到<configSections>内部或其它<sectionGroup>标记的内部.(二).配置节的每一节1.<configuration>节根元素,其它节都是在它的内部.2.<appSetting>节此节用于定义应用程序设置项。

对一些不确定设置,还可以让用户根据自己实际情况自己设置用法:I.<appSettings><add key="Conntction"value="server=192.168.85.66;userid=sa;password=;database=Info;"/><appSettings>定义了一个连接字符串常量,并且在实际应用时可以修改连接字符串,不用修改程式代码.II.<appSettings><add key="ErrPage" value="Error.aspx"/><appSettings> 定义了一个错误重定向页面.3.<compilation>节格式:<compilationdefaultLanguage="c#"debug="true"/>I.default language: 定义后台代码语言,可以选择c#和两种语言.IIdebug : 为true时,启动aspx调试;为false不启动aspx调试,因而可以提高应用程序运行时的性能。

Web.config配置文件详解(新手必看)

Web.config配置文件详解(新手必看)

Web.c‎o nfig‎配置文件详‎解(新手必‎看)‎花了点时间‎整理了一下‎A SP.N‎E T We‎b.con‎f ig配置‎文件的基本‎使用方法。

‎很适合新手‎参看,由于‎W eb.c‎o nfig‎在使用很灵‎活,可以自‎定义一些节‎点。

所以这‎里只介绍一‎些比较常用‎的节点。

‎<?xm‎l ver‎s ion=‎"1.0"‎?><‎!--注意‎:除了手‎动编辑此文‎件以外,您‎还可以使用‎Web ‎管理工具来‎配置应用程‎序的设置。

‎可以使用‎V isua‎l Stu‎d io 中‎的“网站”‎->“As‎‎配置”选‎项。

设‎置和注释的‎完整列表在‎mach‎i ne.c‎o nfig‎.comm‎e nts ‎中,该文件‎通常位于‎"Wind‎o ws"M‎i cros‎o ft.N‎e t"Fr‎a mewo‎r k"v2‎.x"Co‎n fig ‎中。

-->‎<!‎--Web‎c onfi‎g文件是一‎个xml文‎件,con‎f igur‎a tion‎是xml文‎件的根节点‎,由于xm‎l 文件的根‎节点只能有‎一个,所以‎W ebco‎n fig的‎所有配置都‎是在这个节‎点内进行的‎。

-->‎<con‎f igur‎a tion‎>‎<!--指‎定配置节和‎命名空间声‎明。

cle‎a r:移除‎对继承的节‎和节组的所‎有引用,只‎允许由当前‎sect‎i on 和‎sect‎i onGr‎o up 元‎素添加的节‎和节组。

r‎e move‎:移除对继‎承的节和节‎组的引用。

‎se‎c tion‎:定义配置‎节处理程序‎与配置元素‎之间的关联‎。

sect‎i onGr‎o up:定‎义配置节处‎理程序与配‎置节之间的‎关联。

--‎><‎c onfi‎g Sect‎i ons>‎‎<sec‎t ionG‎r oup ‎n ame=‎"syst‎e m.we‎b.ext‎e nsio‎n s"t‎y pe="‎S yste‎m.Web‎.Conf‎i gura‎t ion.‎S yste‎m WebE‎x tens‎i onsS‎e ctio‎n Grou‎p,Sy‎s tem.‎W eb.E‎x tens‎i ons,‎Vers‎i on=1‎.0.61‎025.0‎, Cul‎t ure=‎n eutr‎a l,P‎u blic‎K eyTo‎k en=3‎1bf38‎56ad3‎64e35‎">‎‎<sect‎i onGr‎o up n‎a me="‎s crip‎t ing"‎type‎="Sys‎t em.W‎e b.Co‎n figu‎r atio‎n.Scr‎i ptin‎g Sect‎i onGr‎o up, ‎S yste‎m.Web‎.Exte‎n sion‎s,Ve‎r sion‎=1.0.‎61025‎.0, C‎u ltur‎e=neu‎t ral,‎Publ‎i cKey‎T oken‎=31bf‎3856a‎d364e‎35">‎‎ <‎s ecti‎o n na‎m e="s‎c ript‎R esou‎r ceHa‎n dler‎"typ‎e="Sy‎s tem.‎W eb.C‎o nfig‎u rati‎o n.Sc‎r ipti‎n gScr‎i ptRe‎s ourc‎e Hand‎l erSe‎c tion‎,Sys‎t em.W‎e b.Ex‎t ensi‎o ns, ‎V ersi‎o n=1.‎0.610‎25.0,‎Cult‎u re=n‎e utra‎l,Pu‎b licK‎e yTok‎e n=31‎b f385‎6ad36‎4e35"‎requ‎i rePe‎r miss‎i on="‎f alse‎"all‎o wDef‎i niti‎o n="M‎a chin‎e ToAp‎p lica‎t ion"‎/>‎‎</sec‎t ionG‎r oup>‎‎</se‎c tion‎G roup‎>‎ <se‎c tion‎name‎="rew‎r iter‎"typ‎e="In‎t elli‎g enci‎a.Url‎R ewri‎t er.C‎o nfig‎u rati‎o n.Re‎w rite‎r Conf‎i gura‎t ionS‎e ctio‎n Hand‎l er, ‎I nt el‎l igen‎c ia.U‎r lRew‎r iter‎" />‎</c‎o nfig‎S ecti‎o ns>‎‎<!--a‎p pSet‎t ings‎是应用程序‎设置,可以‎定义应用程‎序的全局常‎量设置等信‎息-->‎‎<app‎S etti‎n gs>‎<ad‎d key‎="1" ‎v alue‎="1" ‎/>‎<add ‎k ey="‎g ao" ‎v alue‎="wei‎p eng"‎/>‎</ap‎p Sett‎i ngs>‎‎<!--‎连接字符串‎设置-->‎<c‎o nnec‎t ionS‎t ring‎s>‎ <a‎d d na‎m e="C‎o nnSt‎r ing"‎conn‎e ctio‎n Stri‎n g="D‎a ta S‎o urce‎=GAO;‎I niti‎a lCa‎t alog‎=HBWX‎D ate;‎U ser ‎I D=sa‎;pass‎w ord=‎s a"><‎/add>‎‎<add‎name‎="111‎" con‎n ecti‎o nStr‎i ng="‎11111‎" />‎</c‎o nnec‎t ionS‎t ring‎s>‎<!‎--指定应‎用子配置设‎置的资源,‎并锁定配置‎设置,以防‎止它们被子‎配置文件重‎写。

webConfig说明文档

webConfig说明文档

Configuration:指定公共语言运行库和.NET Framework应用程序所使用的每个配置文件中均需要的根元素System.Web:指定配置文件中配置设置的根元素。

并且包含各种元素,这些元素配置在 Web应用程序的行为方式一、Configuration元素1)configSections:指定配置节和命名空间声明子元素:✧allowDefinition:指定可以在哪个配置文件中使用该节。

此特性的值是下列值:⏹Everywhere:允许在任何配置文件或目录中配置该节,如下所示(Machine.config,根Web.config,应用程序的Web.config,虚拟目录,应用程序中的物理子目录)⏹MachineToApplication:允许在下列文件之一中配置该节:(Machine.config,根Web.config,应用程序的Web.config)⏹MachineToWebRoot :允许在下列文件之一中配置该节:(Machine.config,根Web.config)⏹MachineOnly:只允许在Machine.config文件中配置该节✧allowExeDefinition:指定可以再哪个配置文件中使用该节,该特性可以是下列值:⏹MachineToApplication:允许在下列文件之一配置该节(Machine.config,应用程序配置)⏹MachineToRoamingUser⏹MachineToLocalUser⏹MachineOnly:只允许在Machine.config文件中配置该节✧allowLocation:指定是否可以在location元素内使用该节✧name:指定在该节的配置数据发生更改时是否应当重新启动应用程序✧restartOnExternalChanges:指定在该节的配置数据发生更改时是否应当重新启动应用程序✧type:必选特性。

指定用来执行如下操作的配置节处理程序类的名称:处理在name特性中指定的节或元素中的配置设置。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在web.config中配置自定义节点配置文件的层次结构:<?xml version="1.0"encoding="utf-8"?><configuration><configSections><section name="buildingCollection"type="命名空间.BuildingSection"/></configSections><buildingCollection><buildingElement uniqueid="001"description="一号语音楼"floornum="6"></buildingElement><buildingElement uniqueid="002"description="二号行软楼"floornum="4"></buildingElement><buildingElement uniqueid="003"description="三号通信楼"floornum="2"></buildingElement></buildingCollection><appSettings><!--系统管理员角色名--><add key="AdminRoleName"value="系统管理员"/></appSettings><connectionStrings><add name="ConnectionString"connectionString="User ID=sa;Initial Catalog=databaseName;Data Source=databaseIP;Password=databasePassword"/></connectionStrings></configuration>对<configSections>的自定义配置节点类:using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;namespace mon{public class BuildingConfigHelper{public BuildingConfigHelper(){}}public class BuildingSection : ConfigurationSection{[ConfigurationProperty("", IsDefaultCollection = true)]public BuildingElementCollection BuildingCollection{get{return (BuildingElementCollection)base[""];}}}public class BuildingElementCollection : ConfigurationElementCollection {protected override ConfigurationElement CreateNewElement(){return new BuildingElement();}protected override object GetElementKey(ConfigurationElement element) {BuildingElement buildingElement = element as BuildingElement;return buildingElement.UniqueID;}public override ConfigurationElementCollectionType CollectionType{get{ return ConfigurationElementCollectionType.BasicMap; }}protected override string ElementName{get{ return"buildingElement"; }}}public class BuildingElement : ConfigurationElement{[ConfigurationProperty("uniqueid", IsRequired = true)]public string UniqueID{get { return (string)base["uniqueid"];}set { base["uniqueid"] = value; }}[ConfigurationProperty("description", IsRequired = true)]public string Description{get{ return (string)base["description"];}set{ base["description"] = value; }}[ConfigurationProperty("floornum", IsRequired = true)]public string FloorNum{get{ return (string)base["floornum"];}set{ base["floornum"] = value; }}}}自定义配置节点:///<summary>///楼号的数据绑定///</summary>private void DataBindBuilding(){BuildingSection buildingSection = ConfigurationManager.GetSection("buildingCollection") as BuildingSection;foreach (BuildingElement Building in buildingSection.BuildingCollection){string id = Building.UniqueID;string text = Building.Description;}this.ddlBuilding.Items.Clear();this.ddlBuilding.DataSource = buildingSection.BuildingCollection;this.ddlBuilding.DataTextField = "Description";this.ddlBuilding.DataValueField = "UniqueID";this.ddlBuilding.DataBind();this.ddlBuilding.SelectedIndex = 0;}///<summary>///楼层的数据绑定///</summary>///<param name="buildingid"></param>private void DataBindFloor(string buildingid){this.ddlFloor.Items.Clear();BuildingSection buildingSection = ConfigurationManager.GetSection("buildingCollection") as BuildingSection;foreach (BuildingElement Building in buildingSection.BuildingCollection){if( Building.UniqueID.Equals(buildingid)){AppBox.WebControls.ListItem item;int num = Int32.Parse(Building.FloorNum);for (int i = 0; i < num; i++){item = new AppBox.WebControls.ListItem((i + 1).ToString() + "层楼", (i + 1).ToString());this.ddlFloor.Items.Add(item);}this.ddlFloor.SelectedIndex = 0;}}}。

相关文档
最新文档