VS 2010和.NET 4第一步:Web.config文件

开发 后端
本文是Scott Gu在其博客上更新的Visual Studio 2010和.NET 4系列文章中的第一篇,介绍了Web.config文件的设置。

微软.NET平台现任负责人Scott Gu日前在博客上宣布要撰写一个系列的文章介绍Visual Studio 2010和.NET 4,下面是这个系列的第一篇:

这是我针对即将发布的VS 2010 和 .NET 4所撰写的贴子系列的第一篇。

无可否认,今天的贴子所涉及的东西在ASP.NET 4.0中是个非常小的(但我还是认为是个非常棒的)变动:干净,简洁的web.config文件。

第一次在Visual Studio 2010中使用 文件->新项目 创建空白的ASP.NET 4.0 Web应用时你就会看到这个改进,所以我觉得把这个东西做为我的系列的第一篇是非常恰当的。

.NET 3.0 和 3.5中的Web.config文件

在最近几个版本中,新ASP.NET项目中的web.config文件的大小一直在稳步增长。例如,Visual Studio 2008 SP1中加到新的web项目中的默认web.config文件已有126行,所含的东西包罗万象,从标识的定义到用于ASP.NET HTTP管道中的处理器和模块的定义等等。

这个文件大小的增加是因为.NET 3.0 和 .NET 3.5用的是跟.NET 2.0一样的CLR和machine.config配置文件,只不过是在安装时加了或更新了框架中的程序集而已。为避免意外地覆盖机器上原有的2.0 machine.config中定制设置的风险,我们没有在其中注册随.NET 3.0 和 .NET 3.5版本而来的新的ASP.NET功能带来的标识定义和处理器和模块,而是选择让新的项目在应用的局部web.config中注册这些设置。这个做法比较安全,但也导致了web.config文件大小的增加,而且变到愈加复杂,读起来也更困难。

.NET 4中的Web.config文件

.NET 4 包括了一个新的CLR版本,以及特定于.NET 4的新的machine.config文件(是与.NET 2, .NET 3 和 .NET 3.5中所用的machine.config文件并列安装的)。

新的.NET 4 machine.config文件现在自动注册我们几年来添加的所有的ASP.NET 标识部分(section), 处理器和模块,包括了对应于下列功能的设置:

◆ASP.NET AJAX

◆ASP.NET 动态数据

◆ASP.NET 路径选择或导向(现在可为ASP.NET WebForms和ASP.NET MVC两者兼用)

◆ASP.NET 图表控件(现在内置于ASP.NET V4中了)

这意味着,在VS 2010中创建新的空白ASP.NET应用项目时,你会发现新的应用级默认web.config文件既干净又简洁:

新的应用级默认web.config文件既干净又简洁 

上面的第一个配置部分告诉ASP.NET默认允许应用调试,并向Visual Studio指定在提供intellisense时该定向的.NET版本(VS 2010支持多定向,IDE中的intellisense会根据你当前针对的框架版本自动改变)。

第二个配置部分表示在IIS7中运行ASP.NET应用时是否使用“integrated(集成)”模式,该模式控制了是否对应用中的所有请求或者只是针对特定于ASP.NET的URL才运行ASP.NET HttpModules模块。我们在新应用的应用级web.config文件默认启用这个模式,因为,为兼容的原因,注册在机器级的默认IIS7设置是只对特定于ASP.NET的URL才运行模块,并不是对所有的请求。

结束语

.NET 4中简化了的web.config文件,其变动貌似细小,但我还是认为非常之棒,在你创建新的ASP.NET应用时将使得其默认体验更加干净,也更为容易理解。

在以后的贴子里,我将深入探讨ASP.NET 4中许多更加实质性的改进(以及若干个“细小但很棒”的调整)。

希望本文对你有所帮助,

Scott

【编辑推荐】

  1. 图解VS 2010和.NET 4起始项目模板
  2. Visual Studio 2010响应Ribbon控件消息
  3. 微软称C++将得到Visual Studio 2010更多支持
  4. Visual Studio 2010新特性:动态语言功能
  5. 微软对Visual Studio 2010的Bug熟视无睹?
责任编辑:yangsai 来源: Scott Gu博客中文版
相关推荐

2009-07-27 13:43:11

Web.config文ASP.NET

2009-08-05 14:11:56

ASP.NET Web

2021-01-15 18:17:06

网络协议分层

2009-01-18 08:49:04

Java入门JDK

2013-01-15 09:17:11

2012-07-11 16:43:14

飞视美

2009-07-29 14:23:08

ASP.NET配置文件

2015-06-02 11:42:00

Cloud FoundAzure

2018-02-10 11:24:39

Python数据程序

2021-08-24 05:07:25

React

2019-11-20 10:54:46

无密码身份验证网络安全

2020-11-17 14:55:36

亚马逊云科技迁移

2009-07-28 14:54:47

web.config文ASP.NET应用程序

2011-04-19 14:35:58

ASP.NETWeb.config

2010-07-01 13:44:12

2011-07-25 14:17:46

BSMIT运维北塔

2012-08-30 11:14:11

云计算虚拟化

2010-01-21 10:29:54

java认证

2020-07-22 22:10:34

互联网物联网IOT

2011-08-31 09:38:36

网络营销MSN社交网络
点赞
收藏

51CTO技术栈公众号