在我们第一次写web应用程序的时候,我们很快会接触到一个文件,那就是配置文件——web.config。我们的第一个比较深刻
的使用就是我们不需要把我们的数据库链接零散的写在我们的代码中了,我们只需要在web.config文件中注明,这样我们可以
方便的在我们需要的时候,读取它,更改它。
 
那么什么是配置文件呢? 它用来做什么呢?
我们可以看一下windows操作系统中用户配置文件的定义: 
 
我们可以看到配置文件帮助我们预设置了一些基本的参数,条件。用来帮助我们的进程,应用程序,更或者操作系统运行的时候
可以在我们预先设定好的环境下运行。
 
真正了解,并认识配置文件,能够帮助我们更好的明白我们的应用程序纠结是如何运行的。在我们在进行web应用程序的开发,测试
部署的过程中,有三个配置文件也需要我们去很好的认识,并牢记他们。
他们分别是: machine.config, applicationhost.config, web.config
 
Machine.config
 
其实当我们做开发的时候,有一条非常重要的原则就是:我们所写的所有代码,创建的所有文件都是给人看的,而给机器看的是我们编译后的文件。
所以从文件名称我们就可以推测出,这个文件中所这是的所有信息,是给整台服务器内的所有web应用程序的。
machine.config文件的具体位置在%system32%Microsoft.NETFramework[版本号]Config目录下。
 
 
Web.config
web.config继承成于machine.config文件,同时我们可以对特定的web.application文件单独进行设置。

记忆点:

configSections: 配置节处理程序声明。通常我们会在此处申明我们需要设置的节点,并在后面对节点中的详细值,或者属性进行设置。

appSetting: 特定应用程序配置。此处能方便的帮助我们对应用程序指定一些简单,基本的设置。比如我们有一个商城活动应用程序,我们需要设定

一个可控的商城活动起始时间和结束时间,我们可以在此进行设置。

system.Web: 控制Asp.net运行时的行为.

customErrors:自定义异常 mode   :   具有On,Off,RemoteOnly   3种状态。On表示始终显示自定义的信息;   Off表示始终显示详细的asp.net错误信息;

RemoteOnly表示只对不在本地Web服务器上运行的用户显示自定义信息.

对于不同状态的异常,我们可以指定对于的提示页面。

sessionState: 会话配置 Inproc 进程内存储,StateServer 第三方状态服务器存储,SqlServer 数据库存储。 在不同的场景或者需求下,

我们可以指定如何存储我们的会话状态。

authentication:  Windows、Forms、PassPort、None

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

示例:控制用户上传文件最大为4M,最长时间为60秒,最多请求数为100 
<httpRuntime   maxRequestLength= "4096 "   executionTimeout= "60 "   appRequestQueueLimit= "100 "/>

HttpModule: Module自定义设置,可以去除非必须的Module,或者自定义Module,如防止盗链, IP安全管理等

HttpHandler: Handler自定义设置,或者添加自定义Handler

 
ApplicationHost.config
IIS为我们提供了一个高度集成的Web应用程序平台,用来管理并运行我们的web应用程序。
而对于iis7.0+ 使用applicationHost.config
为web服务器和进程保存IIS配置。applicationHost.config在%system32%inetsvr\config目录下。
  
记忆点: 
1, 应用程序池设置:
<system.applicationHost>
        <applicationPools>
            <add name="DefaultAppPool" managedRuntimeVersion="v4.0" />
            <add name="ASP.NET v4.0" managedRuntimeVersion="v4.0" />
            <add name="ASP.NET v4.0 Classic" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" />
            <applicationPoolDefaults>
                <processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="false" />
            </applicationPoolDefaults>
        </applicationPools>
2,对特定的站点制定部署位置和访问协议,端口
 <sites>
            <site name="Default Web Site" id="1" serverAutoStart="true">
                <application path="/">
                    <virtualDirectory path="/" physicalPath="E:\*" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation="*:80:" />
3,为Asp.net 管道,设置全局Module, Http缓存,匿名验证等
      <globalModules>
            <add name="HttpCacheModule" image="%windir%\System32\inetsrv\cachhttp.dll" />
            <add name="AnonymousAuthenticationModule" image="%windir%\System32\inetsrv\authanon.dll" />
        </globalModules>
        此处使我们了解到我们的Http缓存是在何时处理的,并在何处被加载。同时我们也可以指定自定义的缓存处理。
 
4, 用以过滤请求,判断请求是否为asp.net动态页面请求,如果是传递给aspnet_wp,执行请求,并返回html
     <isapiFilters>
            <filter name="ASP.Net_4.0_64bit" path="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv4.0,bitness64" />
            <filter name="ASP.Net_4.0_32bit" path="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv4.0,bitness32" />
        </isapiFilters>
 
其实对于配置文件,所需要关注的类容远不止这些,很多暂时也无法全部的表现出来。
但对于这三个配置文件的设置也确实能帮助我们理解整个web应用程序环境是如何运行的。
 

你必须牢记的*.Config-配置文件的更多相关文章

  1. C#读写config配置文件

    应用程序配置文件(App.config)是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序. 对于一个config ...

  2. C# 读写App.config配置文件的方法

    我们经常会希望在程序中写入一些配置信息,例如版本号,以及数据库的连接字符串等.你可能知道在WinForm应用程序中可以利用Properties.Settings来进行类似的工作,但这些其实都利用了Ap ...

  3. Web.config配置文件详解

    整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <?xml v ...

  4. asp.net项目中通过Web.config配置文件及文件夹的访问权限!

    描述:在开发中我们通常会碰到这样的问题,例如:在项目的根目录下面有一个文件或者文件夹需要用户登陆后才能访问.如果用户在没有登录的情况下访问该文件或者该文件夹下面的文件时,直接拦截重定向到对应的登陆页面 ...

  5. C#中动态读写App.config配置文件

    转自:http://blog.csdn.net/taoyinzhou/article/details/1906996 app.config 修改后,如果使用cofnigurationManager立即 ...

  6. [转]Web.config配置文件详解(新手必看)

    本文转自:http://www.cnblogs.com/gaoweipeng/archive/2009/05/17/1458762.html 花了点时间整理了一下ASP.NET Web.config配 ...

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

    转:http://www.cnblogs.com/gaoweipeng/archive/2009/05/17/1458762.html 花了点时间整理了一下ASP.NET Web.config配置文件 ...

  8. Web.config配置文件

    优点:Web.config配置文件使得ASP.NET应用程序的配置变得灵活高效和容易实现并为ASP.NET应用提供了可扩展的配置,使得应用程序能够自定义配置,同时还包括的优点有:配置设置易读性.更新的 ...

  9. 关于App.config配置文件

    今天在做复习的时候,突然发现自己无法读取配置文件中的数据库连接字符串,而且检查了半天也没找出原因,最后求助万能的度娘才得以解决—— 1.App.config配置文件在项目中添加后不要修改名称,否则会出 ...

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

    花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <? ...

随机推荐

  1. linux之PATH环境变量

    在linux中,我们发现一些命令在任何目录都能执行,并不会出现找不到这个命令文件的提示,这其中就是PATH变量帮我们定位的!首先我们来查看一下PATH变量 [root@localhost /]# ec ...

  2. 美化iTerm2

    一.下载iTerm2,启动 二.安装oh-my-zsh curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/insta ...

  3. wordpress及其simple_press插件完成 的中文论坛

    wordpress 及 其simple_press插件的论坛功能 开发准备: 一直从事java及as3方面的开发,首次听同事提起PHP的wordpress,于是上网查了下, 才知道这款软件的强大,转而 ...

  4. android学习之EdieText组件的使用

    界面如下 移通152余继彪 该界面由四个EditText组件和Button按钮还有一个通知Toast完成,首先在xml文件中添加了四个组件和一个按钮还有一个文字显示框,java代码部分为button添 ...

  5. map的四种遍历方式

    map是Java中非常常用的一种数据结构,但map不同于set和list都继承自Collection接口. 所以map没有实现Collection的Iterator 方法,自身没有迭代器来遍历元素. ...

  6. powershell读写磁盘变量(对象序列化)

    ---[第一章,开篇引子]--- 很久很久以前,我在网上闲逛,看到一头powershell菜鸟,写了一篇感慨道“挖哈哈,我学会powershell啦,我以前很笨,各种不懂,还想把变量保存起来.” 实际 ...

  7. ASP.NET后台调用前台JS函数的三种常见方法

    第一种:使用普通的添加控件中的Attributes属性进行调用 例如,像一般的普通的按钮:Button1.Attributes.Add("onclick","MyFun( ...

  8. 程序内部让用户直接上appstore评价游戏的链接地址以及跳转方法

    NSString *str = [NSString stringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore ...

  9. 柏克EPS应急电源签约联达大厦保安全

    近日,柏克EPS应急电源成功签约佛山市联达大厦,保障大厦电力安全. 佛山市联达大厦占地6674㎡,总建筑面积约4.6万㎡,设有两层地下室,提供201个停车位,地面29层.大厦大楼分为主楼和副楼,主楼地 ...

  10. php 网页 301 跳转

    php 跳转 if('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] =="http://www.nikemalaysia.co ...