MVC 01
ASP.NET MVC 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构建的系统。
【来自 孤影'Blog:http://www.cnblogs.com/LonelyShadow 亲们,码字不容易,转载请注明出处。】
MVC 01的更多相关文章
- 正式学习MVC 01
1.新建项目 点击创建新项目,选择ASP.NET web应用程序,对项目进行命名后点击创建. 截图如下: 取消勾选HTTPS配置 可选择空 + mvc 或直接选定MVC 2.目录结构分析 1) App ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 01. 创建项目 +项目结构和配置简介
新建项目:Tutotial.Web 解决方案名称可以把web去掉 视频里面把git这个选项勾选了.我就不勾选了 dotnet CLI创建项目 首先必须安装好了.net Core的SDK dotnet ...
- 第一个MVC模型
根据慕课网的视频自学来的. 关于MVC的简介和一些常识:http://www.cnblogs.com/jobscn/archive/2011/11/08/2240725.html MVC模式 : MV ...
- ASP.NET Core MVC 2.x 全面教程_汇总贴
Reshaper快捷键盘 快速生成属性:prop Ctrl+. ASP.NET Core MVC 2.x 全面教程:https://www.bilibili.com/video/av38392956 ...
- [asp.net mvc 奇淫巧技] 01 - 封装上下文 - 在View中获取自定义的上下文
我们在asp.net 开发中已经封装了最强大的HttpContext,我们可以在HttpContext中可以获取到几乎任何想获取的东西,也可以在HttpContext写入需要返回客户端的信息.但是这些 ...
- spring mvc注解版01
spring mvc是基于servlet实现的在spring mvc xml版中已经说过了,注解版相较于xml版更加简洁灵活. web项目的jar包: commons-logging-1.1.3.ja ...
- spring mvc 学习01 搭建
/** * */ /** * @author Administrator * */ package com.study01.controller; import org.springframework ...
- [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序
[.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序 一.练习项目: http://www.asp.net/mvc/tutorials/mvc-4/gettin ...
- Knockout官网实例在MVC下的实现-01,实现Hello world
本篇使用Knockout在MVC下实现"Hello World",对应的官网实例在这里. View视图 Knockout的一个特点是:声明式绑定,即Declarative bind ...
随机推荐
- H3C S5120交换机ACL应用的问题
下午在S5120上ACL的时候发现不起作用,ACL如下: acl number 3001 name deny-wan-to-lan-vpn rule 0 deny ip source 10.3.0.0 ...
- HTML学习笔记之中的一个(input文件选择框的封装)
方式一:直接透明隐藏 .file_button_container,.file_button_container input {background: transparent url(./img/BT ...
- 在内网架设一个可供外网登录的ftpserver
ftpserver是使用比較寻常的server,可是IP资源是有限的.那么怎么让内网的server給外网的用户提供服务了? 首先须要找一个FTPserver程序,我在这边使用pure-ftpd-mys ...
- c#与oracle数据库连接池
c#与oracle数据库连接池 在做一个项目,中间要使用webservice和oracle数据库.我在服务端做了用户身份认证,也就是使用session传递用户的登陆信息.在测试时,当用户少的时候,没有 ...
- Mac 登录界面多了一个其它账户删除
原因分析: 在安装一些软件时会自己主动启用root账户,可是在安装完毕后没有关闭root账户,这样就造成系统以为用户要使用root账户,所以在登录界面出现了一个"其它"账户 解决方 ...
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第15章节--开发SP2013工作流应用程序 总结
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第15章节--开发SP2013工作流应用程序 总结 在SP2013中,工作流已经从SP Server中脱离 ...
- mini2440裸试验—计算器(LCD显示,触摸屏突破)
关于Pait_Bmp(x0, y0, x, y, BMPaddr);函数 像素图在屏幕左上角为(0,0),Pait_Bmp中的x0.y0分别像素点初始位置,x,y为BMP图片的X,Y的大小.BMPad ...
- a标签的背景图在ie8下不显示的问题
突然发现临下班时候问题就多, 马上下班了被头头告知线上已经上线很久的活动现在有个兼容性问题, a标签的背景图在ie8下会有不显示的情况. 我自己找了台ie8的机器实验了一下, 发现一切正常, 但是在另 ...
- PHP获取当前页面完整的URL
#测试网址: http://localhost/blog/testurl.php?id=5 //获取域名或主机地址 echo $_SERVER['HTTP_HOST']."<br> ...
- Web Worker在WebKit中的实现机制
web worker 是执行在后台的 JavaScript,独立于其它脚本.不会影响页面的性能.这是HTML5的一个标准:实现上讲.浏览器为wokrer启动了新的线程,从而实现了异步操作的功能; 以下 ...