一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇

简介: 本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .

本系列文章导航

VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇

VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇

VS 2010 和 .NET 4.0 系列之《起始项目模板》篇

VS 2010 和 .NET 4.0 系列之《多定向支持》篇

VS 2010 和 .NET 4.0 系列之《多显示器支持》篇

VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇

VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇

VS 2010 和 .NET 4.0 系列之《自动启动ASP.NET应用》篇

VS 2010 和 .NET 4.0 系列之《在ASP.NET 4 Web Forms中实现URL导向》篇

VS 2010 和 .NET 4.0 系列之《在VS 2010中查询和导航代码》篇

VS 2010 和 .NET 4.0 系列之《VS 2010代码智能提示的改进》篇

VS 2010 和 .NET 4.0 系列之《添加引用对话框的改进》篇

VS 2010 和 .NET 4.0 系列之《内置图表控件》篇

  这是我针对即将发布的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文件既干净又简洁:

  上面的第一个配置部分告诉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月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
251 1
|
21天前
|
监控 Cloud Native 测试技术
.NET技术深度解析:现代企业级开发指南
每日激励:“不要一直责怪过去的自己,他曾经站在雾里也很迷茫”。我是蒋星熠Jaxonic,一名在代码宇宙中探索的极客旅人。从.NET Framework到.NET 8,我深耕跨平台、高性能、云原生开发,践行领域驱动设计与微服务架构,用代码书写技术诗篇。分享架构演进、性能优化与AI融合前沿,助力开发者在二进制星河中逐光前行。关注我,共探技术无限可能!
.NET技术深度解析:现代企业级开发指南
|
4月前
|
缓存 前端开发 应用服务中间件
Web端实时通信技术SSE在携程机票业务中的实践应用
本文介绍了携程机票前端基于Server-Sent Events(SSE)实现服务端推送的企业级全链路通用技术解决方案。文章深入探讨了 SSE 技术在应用过程中包括方案对比、技术选型、链路层优化以及实际效果等多维度的技术细节,为类似使用场景提供普适性参考和借鉴。该方案设计目标是实现通用性,适用于各种网络架构和业务场景。
119 1
|
5月前
|
缓存 前端开发 应用服务中间件
Web端实时通信技术SSE在携程机票业务中的实践应用
本文介绍了携程机票前端基于Server-Sent Events(SSE)实现服务端推送的企业级全链路通用技术解决方案。文章深入探讨了 SSE 技术在应用过程中包括方案对比、技术选型、链路层优化以及实际效果等多维度的技术细节,为类似使用场景提供普适性参考和借鉴。
155 7
|
6月前
|
SQL 小程序 API
如何运用C#.NET技术快速开发一套掌上医院系统?
本方案基于C#.NET技术快速构建掌上医院系统,结合模块化开发理念与医院信息化需求。核心功能涵盖用户端的预约挂号、在线问诊、报告查询等,以及管理端的排班管理和数据统计。采用.NET Core Web API与uni-app实现前后端分离,支持跨平台小程序开发。数据库选用SQL Server 2012,并通过读写分离与索引优化提升性能。部署方案包括Windows Server与负载均衡设计,确保高可用性。同时针对API差异、数据库老化及高并发等问题制定应对措施,保障系统稳定运行。推荐使用Postman、Redgate等工具辅助开发,提升效率与质量。
218 0
|
10月前
|
开发框架 算法 .NET
C#/.NET/.NET Core技术前沿周刊 | 第 15 期(2024年11.25-11.30)
C#/.NET/.NET Core技术前沿周刊 | 第 15 期(2024年11.25-11.30)
149 6
|
10月前
|
开发框架 Cloud Native .NET
C#/.NET/.NET Core技术前沿周刊 | 第 16 期(2024年12.01-12.08)
C#/.NET/.NET Core技术前沿周刊 | 第 16 期(2024年12.01-12.08)
146 6
|
10月前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
255 5
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
403 0
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
213 7