WebConfig配置
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身份验证,适用于域用户或者局域网用户。
配置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中的数据库连接代码即可,⽽不必在修改每⼀个页⾯中的数据库连接代码。
在中有两种配置数据库连接代码的⽅式,它们分别是appSettings和connectionStrings。
在使⽤ appSettings 和connectionStrings 配置数据库连接代码时,可分别在 <configuration> 下添加如下代码:1. appSettings<appSettings><add key="conn" value="server=服务器名;database=数据库名;uid=⽤户名;password=密码;"/></appSettings>2. connectionStrings<connectionStrings><add name="conn" connectionString="Dserver=服务器名;database=数据库名;uid=⽤户名;password=密码" providerName="System.Data.SqlClient"/></connectionStrings>(1) appSettings 是在 2003 中常⽤的,connectionStrings 是在 2005 中常⽤的;(2) 使⽤ connectionStrings 的好处:第⼀,可将连接字符串加密,使⽤MS的⼀个加密⼯具即可;第⼆,可直接绑定数据源控件,⽽不必写代码读出来再赋值给控件;第三,可⽅便的更换数据库平台,如换为 Oracle 数据库,只需要修改 providerName。
net中web.config一个配置文件解决方法(其他配置文件引入方式)

net中web.config⼀个配置⽂件解决⽅法(其他配置⽂件引⼊⽅式)近期⼀个项⽬需要写许多的配置项,发现在单个web.config⾥⾯写的话会很乱也难于查找所以搜了⼀下解决了,记录下来⼀、 webconfig提供了引⼊其他config的⽅式<connectionStrings configSource="Configs\database.config" />这个是连接字符串的配置你可以在database。
config⾥⾯写很多链接字符串以备⾃⼰调⽤database。
config⾥⾯的内容如下:<?xml version="1.0" encoding="utf-8"?><connectionStrings><add name="SDbContext" connectionString="Server=.;Initial Catalog=Self;User ID=sa;Password=password" providerName="System.Data.SqlClient"/> </connectionStrings><appSettings configSource="Configs\system.config" />这个是键值对的⽅式存放代码如下:<?xml version="1.0" encoding="utf-8"?><appSettings><!-- ================== 1:开发系统相关配置 ================== --><!-- 登陆提供者模式:Session、Cookie--><add key="LoginProvider" value="Cookie"/><!-- 启⽤系统⽇志--><add key="IsLog" value="true"/><!-- 数据库超时间--><add key="CommandTimeout" value="180"/><!--启⽤IP过滤 --><add key="IsIPFilter" value="false"/><!-- ================== 2:系统软件参数配置 ================== --><!-- 联系我们 --><add key="Contact" value="TE Software(Mobility)"/><!-- 软件名称 --><add key="SoftName" value="Sub Self"/><!-- 软件版本 --><add key="Version" value="1.0"/><!-- 设置就应⽤路径 --><add key="AppName" value=""/><!-- 设置就应⽤路径 --><add key="SqlGetBomList" value=""/></appSettings>以上两个是不需要特殊的配置的,放到configuration⾥⾯ configSections的下⾯这样就可以⼆、下⾯介绍⾃定义配置节<configSections><section name="users" type="ValueSectionHandler"/></configSections><users configSource="users.config"></users>注意configsections⾥⾯的⼀条,是声明这是以什么组织⽅式users.config ⾥⾯的内容如下:<users><add key="beijing" value="123"></add><add key="tianjin" value="123"></add></users>获取配置的⽅式:NameValueCollection users = System.Configuration.ConfigurationManager.GetSection("users") as NameValueCollection;// Response.Write(users.Keys[0]+"</br>"+users.Keys[1]);users.Get("beijing"); 三、复杂类型:复杂类型的声明就不同了<configSections><section name="roles" type="EBuy.Chapter3.NTier.WebUI.RolesConfig, EBuy.Chapter3.NTier.WebUI"/></configSections><roles configSource="roles.config"></roles>内容如下<roles><add username="beijing" password="123"></add><add username="tianjin" password="123"></add></roles>获取⽅式:using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace EBuy.Chapter3.NTier.WebUI{public class RolesConfig : System.Configuration.IConfigurationSectionHandler{public object Create(object parent, object configContext, System.Xml.XmlNode section){return section;}}}XmlNode roles= System.Configuration.ConfigurationManager.GetSection("roles") as XmlNode;Response.Write(roles.ChildNodes [0].Attributes["username"].InnerText);还可以配置为实体using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace EBuy.Chapter3.NTier.WebUI{public class RolesConfig : System.Configuration.IConfigurationSectionHandler{public object Create(object parent, object configContext, System.Xml.XmlNode section){var list=new List<Role>();for(int i=0;i<section.ChildNodes.Count;i++){list.Add(new Role (){Username =section.ChildNodes[i].Attributes["username"].InnerText ,Password =section.ChildNodes[i].Attributes["password"].InnerText });}return list;}}public class Role{public string Username { get; set; }public string Password{get;set;}}}var roles = System.Configuration.ConfigurationManager.GetSection("roles") as List<EBuy.Chapter3.NTier.WebUI.Role >; Response.Write(roles.First ().Username);。
webconfig技术的配置

合OracleMembershipProvider开发简单的应用程序----配置web.config文件配置web.config文件<authentication mode="Forms"><forms loginUrl="~/Login.aspx" defaultUrl="~/Default.aspx" protection="All" timeout="1000" cook ieless="UseCookies"></forms></authentication>在authentication节点,添加forms的说明loginUrl:登录页面defaultUrl:缺省页面timeout:过期时间这些节点值,可以直接通过FormsAuthentication类访问,如访问loginUrl,代码是:FormsAuthentication.LoginUrl配置数据源<connectionStrings><add name="LingAnChuLi" connectionString="Data Source=zwz;Persist Security Info=True;User ID=test;Password=test"providerName="System.Data.OracleClient" /></connectionStrings>配置OracleMembershipProvider<membership defaultProvider="OracleMembershipProvider" userIsOnlineTimeWindow="10"><providers><add name="OracleMembershipProvider" type="OracleMembershipProvider" requiresQuestionA ndAnswer="true" connectionStringName="LingAnChuLi" minRequiredPasswordLength="6" minR equiredNonalphanumericCharacters="0" passwordFormat="Encrypted"/></providers></membership><machineKey validationKey="D61B3C89CB33A2F1422FF158AFF7320E8DB8CB5CDA1742572A 487D94018787EF42682B202B746511891C1BAF47F8D25C07F6C39A104696DB51F17C529AD3CABE" decryptionKey="FBF50941F22D6A3B229EA593F24C41203DA6837F1122EF17"/>在membership节点声明OracleMembershipProvider,节点的意义参考微软的说明文档。
webconfig 参数

webconfig 参数WebConfig 参数是指在Web应用程序的配置文件中使用的一组参数,它们用于配置和调整Web应用程序的行为和功能。
WebConfig 参数的正确配置对于应用程序的性能、安全性和可靠性都起着重要的作用。
本文将介绍一些常见的WebConfig 参数,并解释它们的作用和用法。
1. `<compilation>` 参数:这个参数用于配置应用程序的编译方式。
其中的 `debug` 属性控制是否启用调试模式,`batch` 属性控制是否启用批处理编译,`targetFramework` 属性指定应用程序的目标框架版本。
正确配置这些参数可以提高应用程序的性能和安全性。
2. `<httpRuntime>` 参数:这个参数用于配置应用程序的运行时行为。
其中的 `maxRequestLength` 属性指定了请求的最大长度,`executionTimeout` 属性指定了请求的最大执行时间。
合理地配置这些参数可以避免应用程序受到恶意请求的攻击,同时也可以提高应用程序的响应速度。
3. `<sessionState>` 参数:这个参数用于配置应用程序的会话状态管理方式。
其中的 `mode` 属性指定了会话状态的模式,可以是`InProc`、`StateServer` 或 `SQLServer`。
`timeout` 属性指定了会话的超时时间。
正确配置这些参数可以确保应用程序的会话状态管理安全可靠。
4. `<authentication>` 参数:这个参数用于配置应用程序的身份验证方式。
其中的 `mode` 属性指定了身份验证的模式,可以是`Windows`、`Forms` 或 `None`。
`Forms` 模式下,还可以配置`loginUrl` 属性指定登录页的 URL。
正确配置这些参数可以保护应用程序的安全性,防止未授权的访问。
5. `<authorization>` 参数:这个参数用于配置应用程序的授权方式。
Web.config配置文件详解(新手必看)

Web.co nfig配置文件详解(新手必看)花了点时间整理了一下A SP.NE T Web.conf ig配置文件的基本使用方法。
很适合新手参看,由于W eb.co nfig在使用很灵活,可以自定义一些节点。
所以这里只介绍一些比较常用的节点。
<?xml vers ion="1.0"?><!--注意:除了手动编辑此文件以外,您还可以使用Web 管理工具来配置应用程序的设置。
可以使用V isual Stud io 中的“网站”->“As配置”选项。
设置和注释的完整列表在machi ne.co nfig.comme nts 中,该文件通常位于"Windo ws"Mi croso ft.Ne t"Fra mewor k"v2.x"Con fig 中。
--><!--Webc onfig文件是一个xml文件,conf igura tion是xml文件的根节点,由于xml 文件的根节点只能有一个,所以W ebcon fig的所有配置都是在这个节点内进行的。
--><conf igura tion><!--指定配置节和命名空间声明。
clea r:移除对继承的节和节组的所有引用,只允许由当前secti on 和secti onGro up 元素添加的节和节组。
re move:移除对继承的节和节组的引用。
sec tion:定义配置节处理程序与配置元素之间的关联。
secti onGro up:定义配置节处理程序与配置节之间的关联。
--><c onfig Secti ons><sect ionGr oup n ame="syste m.web.exte nsion s"ty pe="S ystem.Web.Confi gurat ion.S ystem WebEx tensi onsSe ction Group,Sys tem.W eb.Ex tensi ons,Versi on=1.0.61025.0, Cult ure=n eutra l,Pu blicK eyTok en=31bf3856ad364e35"><secti onGro up na me="s cript ing"type="Syst em.We b.Con figur ation.Scri pting Secti onGro up, S ystem.Web.Exten sions,Ver sion=1.0.61025.0, Cu lture=neut ral,Publi cKeyT oken=31bf3856ad364e35"> <s ectio n nam e="sc riptR esour ceHan dler"type="Sys tem.W eb.Co nfigu ratio n.Scr iptin gScri ptRes ource Handl erSec tion,Syst em.We b.Ext ensio ns, V ersio n=1.0.61025.0,Cultu re=ne utral,Pub licKe yToke n=31b f3856ad364e35"requi rePer missi on="f alse"allo wDefi nitio n="Ma chine ToApp licat ion"/></sect ionGr oup></sec tionG roup> <sec tionname="rewr iter"type="Int ellig encia.UrlR ewrit er.Co nfigu ratio n.Rew riter Confi gurat ionSe ction Handl er, I nt ell igenc ia.Ur lRewr iter" /></co nfigS ectio ns><!--ap pSett ings是应用程序设置,可以定义应用程序的全局常量设置等信息--><appS ettin gs><add key="1" v alue="1" /><add k ey="g ao" v alue="weip eng"/></app Setti ngs><!--连接字符串设置--><co nnect ionSt rings> <ad d nam e="Co nnStr ing"conne ction Strin g="Da ta So urce=GAO;I nitia lCat alog=HBWXD ate;U ser I D=sa;passw ord=s a"></add><addname="111" conn ectio nStri ng="11111" /></co nnect ionSt rings><!--指定应用子配置设置的资源,并锁定配置设置,以防止它们被子配置文件重写。
动态配置Web.config中的数据库配置信息

2、界面设置
在系统中更改数据库配置信息就是更新如上节点的基本信息,设置的界面如下所示:
3、读取数据库配置信息
if (!IsPostBack)
{
Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(HttpContext.Current.Request.ApplicationPath);
ConnectionStringsSection csSection = config.ConnectionStrings;
csSection.ConnectionStrings[csName].ConnectionString = ls_newstring;
config.Save(ConfigurationSaveMode.Modified);
string myConnect = config.ConnectionStrings.ConnectionStrings["BalloonShopConnection"].ToString();
string[] arycon = myConnect.Split(';');
int i, li_index;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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> 内部或其它<se ctionGroup> 标记的内部.(二).配置节的每一节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调试,因而可以提高应用程序运行时的性能。
一般程序员在开发时设置为true,交给客户时设置为false.4. <customErrors> 节格式:<customErrorsmode= "RemoteOnly "defaultRedirect= "error.aspx "<error statusCode= "440 " redirect= "err440page.aspx "/><error statusCode= "500 " redirect= "err500Page.aspx "/>/>I.mode : 具有On,Off,RemoteOnly 3种状态。
On表示始终显示自定义的信息; Off表示始终显示详细的错误信息; RemoteOnly表示只对不在本地Web服务器上运行的用户显示自定义信息.II.defaultRedirect: 用于出现错误时重定向的URL地址. 是可选的III.statusCode: 指明错误状态码,表明一种特定的出错状态.IV. redirect:错误重定向的URL.5. <globalization> 节格式:<globalizationrequestEncoding= "utf-8 "responseEncoding= "utf-8 "fileEncoding= "utf-8 "/>I.requestEncoding: 它用来检查每一个发来请求的编码.II.responseEncoding: 用于检查发回的响应内容编码.III.fileEncoding: 用于检查aspx,asax等文件解析的默认编码.6. <sessionState> 节格式:<sessionStatemode= "InProc "stateConnectionString= "tcpip=127.0.0.1:42424 "sqlConnectionString= "data source=127.0.0.1;Trusted_Connection=yes "cookieless= "false "timeout= "20 "/>I.mode: 分为off,Inproc,StateServer,SqlServer几种状态这里有详细介绍此属性: /chengking/archive/2005/10/27/518079.aspx II. stateConnectionString :指定应用程序存储远程会话状态的服务器名,默认为本机III.sqlConnectionString: 当用会话状态数据库时,在这里设置连接字符串IV. Cookieless: 设置为true时,表示不使用cookie会话状态来标识客户;否则,相反. V. TimeOut: 用来定义会话状态存储的时间,超过期限,将自动终止会话.7. <authentication> 节格式:<authentication mode= "Forms "><forms name= ".ASPXUSERDEMO " loginUrl= "Login.aspx " protection= "All " tim eout= "30 "/></authentication><authorization><deny users= "? "/></authorization>I.Windows: 使用IIS验证方式II.Forms: 使用基于窗体的验证方式III.Passport: 采用Passport cookie验证模式IV.None: 不采用任何验证方式里面内嵌Forms节点的属性涵义:: 指定完成身份验证的Http cookie的名称.II.LoginUrl: 如果未通过验证或超时后重定向的页面URL,一般为登录页面,让用户重新登录III.Protection: 指定cookie数据的保护方式.可设置为: All None Encryption Validation四种保护方式a. All表示加密数据,并进行有效性验证两种方式b. None表示不保护Cookie.c. Encryption表示对Cookie内容进行加密d. validation表示对Cookie内容进行有效性验证IV. TimeOut: 指定Cookie的失效时间. 超时后要重新登录.在运行时对Web.config文件的修改不需要重启服务就可以生效(注:<processModel> 节例外)。
当然Web.config文件是可以扩展的。
你可以自定义新配置参数并编写配置节处理程序以对它们进行处理。
web.config配置文件(默认的配置设置)以下所有的代码都应该位于<configuration><system.web>和</system.web></configuration>之间,出于学习的目的下面的示例都省略了这段XML标记。
1、<authentication> 节作用:配置 身份验证支持(为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>注:你可以使用来获取已经过验证的当前的用户名;可以使用web.Security.For msAuthentication.RedirectFromLoginPage方法将已验证的用户重定向到用户刚才请求的页面.具体的3、<compilation> 节作用:配置 使用的所有编译设置。
默认的debug属性为“True”.在程序编译完成交付使用之后应将其设为False(Web.config文件中有详细说明,此处省略示例)4、<customErrors>作用:为 应用程序提供有关自定义错误信息的信息。