你必须牢记的*.Config-配置文件

在我们第一次写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应用程序环境是如何运行的。

时间: 2024-11-06 23:41:09

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

Nuget.config格式错误,请检查nuget.config配置文件

安装 VS 2015 Professional 版,安装后,我想加一个nuget的包配置. 然后提示我:Nuget.config格式错误,请检查nuget.config配置文件 我找到了 Nuget.config 文件,并没有发现有什么问题.修改了也没用,并且里面的配置 与 VS 的nuget 显示的不一样. Nuget.config:{C:\Users\Administrator\AppData\Roaming\NuGet\NuGet.Config} 由于全部安装比较大,我只选择了部分内容安装

App.config和Web.config配置文件的自定义配置节点

前言 昨天修改代码发现了一个问题,由于自己要在WCF服务接口中添加了一个方法,那么在相应调用的地方进行更新服务就可以了,不料意外发生了,竟然无法更新.左查右查终于发现了问题.App.config配置文件中的配置貌似出现了问题.查找节点发现是如下节点: <configSections> <section name="Test1" type="Demo.Section1,Demo"/> .............. </configSect

C#读写config配置文件

应用程序配置文件(App.config)是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序. 对于一个config文件: <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="ServerIP" value=&quo

WinForm修改App.config配置文件功能

WinForm修改App.config配置文件主要是通过System.Configuration.dll里ConfigurationManager类来实现,在功能开发前是需要手动引用该dll文件. ConfigurationManager 类包括可用来执行以下任务的成员: ?从配置文件中读取一个节.若要访问配置信息,请调用 GetSection 方法.对于某些节,例如 appSettings 和 connectionStrings,请使用 AppSettings 和 ConnectionStri

Redis源码解析(十六)--- config配置文件

每个系统都会有类似一个config配置文件,config文件里的内容想想都知道,一定就是那么一些固定的一行行的属性代码了,今天在看redis代码中的config属性,那拉下来的一笔,的确多,目测在50至100个属性左右.如果就此将config每个属性代表什么意思不是我的风格,也一定是很乏味的,所以我的特点就是在代码中去理解程序员在写这类代码时的思路,和茫茫代码中的亮点.我们知道,redis运行的环境包括很多种的,windows,Linux,mac os等等,不同的操作系统,当然有些属性就不能支持

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

本文转自:http://www.cnblogs.com/gaoweipeng/archive/2009/05/17/1458762.html 花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <?xml version="1.0"?> <!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置.可以

使用ssh config配置文件来管理ssh连接

我本人其实及其烦使用配置文件这种东西,有时候看到巨大又复杂的配置文件,甚至复杂过代码的时候,总感觉设计配置文件的人有些本末倒置. 但是ssh这个配置文件真的非常简单好用,让我稍微体验了一次配置文件使用的快感. 在使用ssh confg之前我大概是这样设置和管理自己的ssh连接的. 首先条线一个集中的地方,比如我自己在桌面上创建一个sa的文件夹,然后在这个文件夹里面放上自己经常连接的服务器的连接命令做成一个脚本类似名字叫 ssh-redis #!/bin/sh ssh [email protect

Web.config配置文件详解

花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <?xml version="1.0"?> <!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置.可以使用 Visual Studio 中的“网站”->“Asp.Net 配置”选项. 设置和注释的完整列表在 machine.config.

【C#】#103 动态修改App.config配置文件

对 C/S模式 下的 App.config 配置文件的AppSetting节点,支持配置信息现改现用,并可以持久保存. 一. 先了解一下如何获取 配置信息里面的内容[获取配置信息推荐使用这个] 1.1 获取方法一:获取之前需要引用命名空间: using System.Configuration; ConfigurationManager.AppSettings["key"] 1.2 获取方法二:使用XML类,直接 Load 配置文件,然后读取 AppSetting节点下的信息[不推荐使

.NET Core迁移技巧之web.config配置文件

大家都知道.NET Core现在不再支持原来的web.config配置文件了,取而代之的是json或xml配置文件.官方推荐的项目配置方式是使用appsettings.json配置文件,这对现有一些重度使用web.cofig配置的项目迁移可能是不可接受的. 但是好消息是,我们是可以直接在.NET Core 2.0项目种利用上现有的web.config的. 迁移方法 1.首先在解决方案中引入System.Configuration.ConfigurationManager,只有引入它才可以让我们已