ASP.NET MVC 5 01 - ASP.NET概述
本篇目录:
ASP.NET 概述
▁▃▅ ASP.NET概述 ▅▃▁
目前开发B/S系统的主要技术有ASP.NET、JSP、PHP等。其中ASP.NET是基于.NET平台创建动态网页的一种服务器端技术,使用它可以创建动态可交互的Web页面。
在Microsoft的.NET战略中,ASP.NET是其中一项的技术,从图1中可以看出ASP.NET是.NET Framework的重要组成部分。

图1:.NET Framework与ASP.NET
1. NET Framework与ASP.NET
.NET Framework包括两个重要组件:.NET Framework类库和公共语言运行时。编写ASP.NET页面需要用到.NET Framework的框架类库和公共语言运行时。
ASP.NET、.NET Framework及Visual Studio一直以来都在不断地提高,基本每次.NET语言的版本更新,都会带来ASP.NET版本的更新,这些更新包括ASP.NET类库的不断扩充,不断纳入各种新的语言特性等。
在ASP.NET的版本更新过程中,具有革命性意义的是ASP.NET 2.0。.NET Framework 2.0的出现标志着.NET Framework真正走向成熟,同时也带来了ASP.NET技术的成熟和稳定,ASP.NET 3.5又加入了C# 3.0、LINQ、REST等元素,在ASP.NET 4.0中正式引入了ASP.NET MVC。
同时,Visual Studio也在不断地版本升级中,对ASP.NET开发的支持也越来越强劲,在Visual Studio 2010中,代码编写中的只能提示、Web部署、多显示器的支持、TDD支持、内嵌本地jQuery等特性都趋于完美。2012年8月Microsoft发布了.NET Framework 4.5,它支持新的HTML5表单类型,与之对应的Visual Studio 2012中,新的编辑器提供了对HTML5和CSS3的全面支持,本系列内容采用的是ASP.NET 4/5、.NET Framework 4/4.5、Visual Studio 2013。
具体版演进历程如下表1所示:
|
表1:ASP.NET、.NET Framework、Visual Studio版本演进历程 |
||||
|
时间 |
ASP.NET 版本 |
.NET Framework 版本 |
Visual Studio 版本 |
ASP.NET主要功能点 |
|
2002年 |
1.0 |
1.0 |
Visual Studio .NET 2002 |
核心功能 |
|
2003年 |
1.1 |
1.1 |
Visual Studio .NET 2003 |
移动设备控件、自动化输入验证 |
|
2005年 |
2.0 |
2.0 |
Visual Studio 2005 |
新的数据控件、主题、皮肤、Web部件 |
|
2008年 |
3.5 |
3.0 |
Visual Studio 2008 |
Ajax、LINQ支持 |
|
2010年 |
4.0 |
4.0 |
Visual Studio 2010 |
ASP.NET MVC |
|
2012年 |
4.5 |
4.5 |
Visual Studio 2012 |
HTML5和CSS3支持 |
|
2013年 |
4.5.1 |
4.5.1 |
Visual Studio 2013 |
集成Bootstrap等前端UI |
|
2014年 |
4.5.2 |
4.5.2 |
Visual Studio 2014 |
说实话,我装上后发现是鸟语版的,而且算是2015的Beta,就卸了坐等2015了 |
|
2015 |
4.6 |
4.6 |
Visual Studio 2015 |
ASP.NET MVC5等升级,集成Xamarin等项目模板 |
2. ASP.NET MVC简介
ASP.NET MVC是ASP.NET技术的一个子集,它是ASP.NET技术和MVC模式的完美结合,类似于Java平台的Struts框架。
在.NET领域,最初受Ruby On Rails的启发,.NET开源界发布了.NET世界的第一个MVC架构 – MonoRails。
2007年开始,Microsoft公司开始产生开发一个MVC框架的想法,这种想法最终促成了ASP.NET MVC的诞生。
ASP.NET MVC第一个正式版本ASP.NET MVC 1.0于2009年3月发布,时至今日,ASP.NET MVC已经经历了4个较大的版本变化,目前最新的版本是ASP.NET MVC 5。
ASP.NET MVC各个版本的主要功能,以及和Visual Studio、.NET框架各个版本的关系如表2所示:
|
表2 – ASP.NET MVC各版本说明 |
|||
|
ASP.NET MVC版本 |
集成的Visual Studio版本 |
兼容的.NET版本 |
主要功能点 |
|
1.0 |
Visual Studio 2008 |
.NET Framework 3.5 |
核心功能 |
|
2.0 |
Visual Studio 2010 |
.NET Framework 3.5和.NET Framework 4 |
分区项目、模型元数据、模板视图、异步控制等 |
|
3.0 |
Visual Studio 2010 |
.NET Framework 4 |
视图引擎 – Razor |
|
Visual Studio 2012 |
.NET Framework 4和.NET Framework 4.5 |
||
|
4.0 |
Visual Studio 2012 |
.NET Framework 4和.NET Framework 4.5 |
手机模板、单页应用程序等模板、HTML5支持 |
|
4.5 |
Visual Studio 2013 |
.NET Framework 4 和 .NET Framework 4.5 |
Bootstrap等前端UI,详细读者自行Google。 |
|
4.5.1 |
Visual Studio 2013 |
.NET Framework 4和 .NET Framework 4.5.1 |
|
|
4.5.2 |
Visual Studio 2014 |
.NET Framework 4 和.NET Framework 4.5.2 |
|
|
4.6 |
Visual Studio 2015 |
.NET Framework 4和.NET Framework 4.6 |
ASP.NET MVC5等,集成Xamarin等项目模板 |
说明:
(1) Visual Studio 2010之后的各个版本都直接集成了响应的ASP.NET MVC项目模板,但是各个版本的ASP.NET MVC仍然可以独立安装。
最早的ASP.NET MVC 1.0可以在Visual Studio 2008上安装。
(2) .NET MVC技术是ASP.NET技术的一个分支,和它并列的技术成为ASP.NET WebForm,不过ASP.NET WebForm历史较长,它是ASP.NET诞生之初的默认技术,因此有时候说ASP.NET,其实指的就是“ASP.NET WebForm”。
ASP.NET WebForm延续了WinForm的开发理念,通过简单的拖拽就可以完成一些简单的动态页面。
3. ASP.NET的特色和优势
ASP.NET技术延续了Microsoft技术的一贯特点,就是对开发者友好、开发效率高,除了这些,ASP.NET还具备了以下特点:
- 方便设置断电,易于调试。
一直以来,在站点的开发中如何调试都是领开发者头疼的一件事情,因为使用的Web服务器往往不受IDE的约束,而ASP.NET运行的Web服务器都是有Microsoft开发的,具有先天性优势。
Visual Studio中自带的断电调试功能,尤其是对Javascript的断点调试,使代码的排错和查看更贱便捷。 - 编译后执行,运行效率提高。
代码编译是指将代码“编译”成机器语言。但在ASP.NET中并未直接编译成机器语言,而是先编译为微软中间语言(Microsoft Intermediate Language, MSIL或IL),然后由即使(Just-In-Time,JIT)编译器进一步编译成机器语言。其中,JIT编译器并非一次完全编译,而是调用哪部分代码就编译哪部分,这样可以使启动时间更短。
同时,编译好的代码再次运行不需要重新编译,极大地提高了Web应用程序的性能。如图2所示:

图2 ASP.NET页面的编译
4. 典型案例
正因为ASP.NET有诸多优势,越来越多的企业开始采用该技术作为站点的解决方案,具体如下:
- 戴尔计算机(http://www.dell.com)
戴尔公司是一家计算机直销为经营模式的企业,不像联想公司等有店面销售,戴尔公司有的订单都是通过网络或者电话进行销售的。在全球计算机销量排名中,戴尔公司一直都排在前三位。
戴尔公司网站为了应对每天成千上万的订单,采用了ASP.NET作为站点的解决方案。 - 当当网(http://www.dangdang.com)
当当网是全球最大的中文网上书店,随着B2C业务的不断发展,它现在的业务量也越来越大。秉承“鼠标+水泥”的经营模式,当当网所有的产品都是通过网上店铺进行销售的。它采用ASP.NET技术建设的网上店铺,运行一直很稳定。 - 招商银行(http://cmbchina.com)
招商银行是中国大陆第一家由企业创办的商业银行,也是中国政府推动金融改革的试点银行。目前,招商银行在中国大陆的110余个城市设有99家分行及853家支行,ASP.NET技术为银行官网承受高负荷流量下的正常访问提供了有效保障。 - 社区网站(http://myspace.com)
“MySpace”是一个全球的在线社区,用户可以通过“MySpace”和同学追忆当年,结实专业人士拓展自己的人脉,“MySpace”在2003年注册用户突破1亿。事实证明ASP.NET完全可以应对高标准的企业需求。 - 问答网站(http://stackoverflow.com)
“Stack Overflow”是在全球IT界非常受欢迎的技术问答网站,世界各地的程序员都可以在上面交流各种技术问题,目前是实际访问量排名前100位的网站,日均IP访问量达到1千万以上。它是使用ASP.NET MVC3.0构建的系统。
ASP.NET MVC 5 01 - ASP.NET概述的更多相关文章
- ASP.NET MVC 5 02 - ASP.NET MVC 1-5 各版本特点
参考书籍:<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业 ...
- ASP.NET MVC 随想录—— 使用ASP.NET Identity实现基于声明的授权,高级篇
在这篇文章中,我将继续ASP.NET Identity 之旅,这也是ASP.NET Identity 三部曲的最后一篇.在本文中,将为大家介绍ASP.NET Identity 的高级功能,它支持声明式 ...
- ASP.NET MVC中使用ASP.NET AJAX异步访问WebService
使用过ASP.NET AJAX的朋友都知道,怎么通过ASP.NET AJAX在客户端访问WebService,其实在ASP.NET MVC中使用ASP.NET AJAX异步访问WebService 也 ...
- ASP.NET MVC:利用ASP.NET MVC4的IBundleTransform集成LESS
ASP.NET MVC:利用ASP.NET MVC4的IBundleTransform集成LESS 背景 LESS确实不错,只是每次写完LESS都要手工编译一下有点麻烦(VS插件一直没有安装好),昨天 ...
- 七天学会ASP.NET MVC ——深入理解ASP.NET MVC
七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二) ...
- Announcing the Release of ASP.NET MVC 5.1, ASP.NET Web API 2.1 and ASP.NET Web Pages 3.1 for VS2012
The NuGet packages for ASP.NET MVC 5.1, ASP.NET Web API 2.1 and ASP.NET Web Pages 3.1 are now live o ...
- ASP.NET MVC:01理解MVC模式
ASP.NET MVC是ASP.NET Web应用程序框架,以MVC模式为基础. MVC:Model View Controller 模型-视图-控制器Model(模型):负责对数据库的存取View( ...
- ASP.NET MVC 基础(01)
[ASP.NET MVC ]系列文章大致会包含这样一些内容: 1.ASP.NET MVC 的一些高级知识点: 2.ASP.NET MVC 的一些最新技术: 3.ASP.NET MVC 网站安全方面的知 ...
- C# ASP.NET MVC/WebApi 或者 ASP.NET CORE 最简单高效的跨域设置
概述 前面写了一篇:<C# ASP.NET WebApi 跨域设置>的文章,主要针对 ASP.NET WebApi 项目. 今天遇到 ASP.NET MVC 项目也需要设置跨域,否则浏览器 ...
随机推荐
- SQL Server数据库损坏、检测以及简单的修复办法
简介 在一个理想的世界中,不会存在任何数据库的损坏,就像我们不会将一些严重意外情况列入我们生活中的日常一样,而一旦这类事情发生,一定会对我们的生活造成非常显著的影响,在SQL Server中也 ...
- 《Entity Framework 6 Recipes》中文翻译系列 目录篇 -持续更新
为了方便大家的阅读和学习,也是响应网友的建议,在这里为这个系列做一个目录.在目录开始这前,我先来回答之前遇到的几个问题. 1.为什么要学习EF? 这个问题很简单,项目需要.这不像学校,没人强迫你学习! ...
- ASP.net 使用ConfigurationManager获取连接字符串
在解决方案资源管理器里右键单击解决方案选择“添加引用”,并且从 .net 中找到 System.Configuration 引用它 在项目的web.config文件中添加 <connection ...
- [Java定时器]用Spring Task实现一个简单的定时器.
今天做一个项目的的时候需要用到定时器功能.具体需求是: 每个月一号触发一次某个类中的方法去拉取别人的接口获取上一个月份车险过期的用户.如若转载请附上原文链接:http://www.cnblogs.co ...
- php使用CI发送qq和163邮件
1.需求 发送邮件 2.介绍 使用CI框架的email类库发送邮件,这里演示QQ和163 3.163使用教程 a.先去163邮件开启smtp邮件. b.在CI的控制器里写下面的代码 $this-> ...
- JavaScript随笔4
(1) 表单:向服务器提交数据 action: 提交到哪里 表单事件: onsubmit: 提交时发生 onreset: 重置时发生(2) 运动框架: 1.在开始运动时.关闭已有定时器 2.把运动和停 ...
- backup4:数据库自动备份,自动删除备份文件
一:手写TSQL 脚本 1,自动备份 每周进行一次Database 的 Full Backup,设置 Schedule Interval 为Weekly use master go ) )+N'.ba ...
- 5.SVM核函数
核函数(Kernels) 定义 1.1 (核或正定核) 设是中的一个子集,称定义在上的函数是核函数,如果存在一个从到Hilbert空间的映射 使得对任意的,都成立.其中表示Hilbert空间中的内积. ...
- php多关键字查询
php单一关键字查询 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 tdansitional//EN" "http: ...
- ASP.NET Core 中文文档 第四章 MVC(3.6.1 )Tag Helpers 介绍
原文:Introduction to Tag Helpers 作者:Rick Anderson 翻译:刘浩杨 校对:高嵩(Jack) 什么是 Tag Helpers? Tag Helpers 提供了什 ...