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 ...
随机推荐
- 一个用js写的接口http调试程序
公司有非常多手机app的项目.手机app又要常常訪问后台提交与查询数据. 所曾经端app与后台的开发与測试过程中接口调试是一个常常要做的工作. 而每当出现一个BUG,前端appproject师与后台p ...
- android各种资源的详细解释
1.字符数组 使用字符串数组资源<string-array>标签定义,在<string-array>包括一些标签<item>数组元素标记. 例如 &l ...
- JPush极光推送 Java调用服务器端API开发
极光推送是:使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户保持互动,从而有效地提高留存率,提升用户体验.简单的说就是通过JPush后台管理网站进行app消息的推送.可以让用户及时 ...
- UVA 11235 Frequent values(RMQ)
Frequent values TimeLimit:3000Ms , ... , an in non-decreasing order. In addition to that, you are gi ...
- js正则匹配html内容
1.得到网页上的链接地址: string matchString = @"<a[^>]+href=\s*(?:'(?<href>[^']+)'|"" ...
- EF 批量 循环删除
var list = db.T_xAppRecord.Where(u => u.Id == 1).ToList(); //2.0 遍历集合,将 要删除的 对象 的代理对象的State 设置为 D ...
- 作为一个.net程序猿,需要掌握这些有点前途的人才,一些开发---Shinepans
1.基础 C#基础 参考书目: <c#入门经典> <ASP.NET揭秘> IIS HTML ...
- Java EE (5) -- Java EE 6 JavaServer Faces Developer Certified Expert(1z0-896)
Section 1: Essentials of JSF2.0 Identify the features of JSF such as Facelets, BookMarkable View, AJ ...
- 递归算法的数据结构和算法 C++和PHP达到
递归算法:它是一种间接的方法调用本身,直接或. 实施过程:按功能或子程序完成.在函数编写代码或子程序直接或间接拥有被称为.你可以完成递归. (相同类型的问题,子问题到最小问题有已知条件,然后来求解,然 ...
- POJ 2738 Two Ends(记忆化)
Description In the two-player game "Two Ends", an even number of cards is laid out in a ro ...