web.config是一个XML文件,用来储存Asp.NET Web应用程序的配置信息,包括数据库连接字符、身份安全验证等,可以出现在Asp.Net Web应用程序服务器上的任何目录中,每个Web.config将配置设置应用到它所在的目录及虚拟子目录下,子目录中的设置可以随意重写或修改在父目录中指定的设置。该文件不需要重启服务就可以生效。
Asp.net网站IIS启动时会加载配置文件中的配置信息,然后缓存这些信息,这样就不必每次去读取配置信息。在运行过程 中Asp.net应用程序会监视配置文件的变化情况,一旦编辑修改了这些配置信息,就会重新读取这些配置信息并缓存。
当我们要读取某个节点或是节点组信息时,是按照下列方式搜索的:
(1)如果当前页面所在目录下存在web.config文件,查看是否存在所查找 的结点名称,如果存在返回结果并停止查找。
(2)如果当前页面所在目录下不存在web.config文件或web.config文件中不存在该结点名,则查找它的上级目录,直到网站的根目录。
(3)如果网站根目录下不存在web.config文件或者web.config文件中不存在该结点名,则在%windir%/Microsoft.NET/Framework/v2.0.50727/CONFIG/web.config文件中查找。
(4)如果在%windir%/Microsoft.NET/Framework/v2.0.50727/CONFIG/web.config文件中不存在相应结点,则在在%windir%/Microsoft.NET/Framework/v2.0.50727/CONFIG/machine.config文件中查找。
(5)如果仍然没有找到,则返回null。
所以如果我们对某个网站或某个文件平人有特定要求的配置,可以在相应的文件夹下创建一个web.config文件,覆盖掉上级文件夹中的web.config文件中的同名配置即可。这些配置信息的寻找只查找一次,以后便缓存起来供以后调用。在Asp.net应用程序运行过程中,如果web.config文件发生更改就会导致相应的应用程序重新启动,这时存储在服务器内存中的用户会话信息就会丢失(如存储在内存中的Session)。
网上搜集web.config文件基本用法,如下:
--Webconfig文件是一个xml文件,configuration是xml文件的根节点,由于xml文件的根节点只能有一个,所以Webconfig的所有配置都是在这个节点内进行的。-->
--appSettings是应用程序设置,可以定义应用程序的全局常量设置等信息-->
可以在计算机、站点、应用程序和子目录级别声明。这里的几个属性的意思是默认主页为Index,主题是Default,不检测用户在浏览器输入的内容中是否存在潜在的危险数据(注:该项默认是检测,如果你使用了不检测,一要对用户的输入进行编码或验证),在从客户端回发页时将检查加密的视图状态,以验证视图状态是否已在客户端被篡改。(注:该项默认是不验证)禁用ViewState-->
相关:
1、另一个版本web.config配置详解
2、web.config连接字符串及访问用法