ASP.NET MVC 01 - ASP.NET概述

本篇目录:

ASP.NET 概述

  1. .NET Framework 与 ASP.NET
  2. ASP.NET MVC简介
  3. ASP.NET的特色和优势
  4. 典型案例

▁▃▅ 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 亲们,码字不容易,转载请注明出处。】

分类: ASP.NET MVC

MVC 01的更多相关文章

  1. 正式学习MVC 01

    1.新建项目 点击创建新项目,选择ASP.NET web应用程序,对项目进行命名后点击创建. 截图如下: 取消勾选HTTPS配置 可选择空 + mvc 或直接选定MVC 2.目录结构分析 1) App ...

  2. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 01. 创建项目 +项目结构和配置简介

    新建项目:Tutotial.Web 解决方案名称可以把web去掉 视频里面把git这个选项勾选了.我就不勾选了 dotnet CLI创建项目 首先必须安装好了.net Core的SDK dotnet ...

  3. 第一个MVC模型

    根据慕课网的视频自学来的. 关于MVC的简介和一些常识:http://www.cnblogs.com/jobscn/archive/2011/11/08/2240725.html MVC模式 : MV ...

  4. ASP.NET Core MVC 2.x 全面教程_汇总贴

    Reshaper快捷键盘 快速生成属性:prop Ctrl+. ASP.NET Core MVC 2.x 全面教程:https://www.bilibili.com/video/av38392956 ...

  5. [asp.net mvc 奇淫巧技] 01 - 封装上下文 - 在View中获取自定义的上下文

    我们在asp.net 开发中已经封装了最强大的HttpContext,我们可以在HttpContext中可以获取到几乎任何想获取的东西,也可以在HttpContext写入需要返回客户端的信息.但是这些 ...

  6. spring mvc注解版01

    spring mvc是基于servlet实现的在spring mvc xml版中已经说过了,注解版相较于xml版更加简洁灵活. web项目的jar包: commons-logging-1.1.3.ja ...

  7. spring mvc 学习01 搭建

    /** * */ /** * @author Administrator * */ package com.study01.controller; import org.springframework ...

  8. [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序

    [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序   一.练习项目: http://www.asp.net/mvc/tutorials/mvc-4/gettin ...

  9. Knockout官网实例在MVC下的实现-01,实现Hello world

    本篇使用Knockout在MVC下实现"Hello World",对应的官网实例在这里. View视图 Knockout的一个特点是:声明式绑定,即Declarative bind ...

随机推荐

  1. BGP的状态机制

    Idle 状态:即空闲状态,不接受任何BGP的连接,等待Start事件的产生,如果有start事件产生,若有start事件产生,系统开启ConnectRetry定时器,向邻居发起TCP连接,并将状态变 ...

  2. 浅谈JAVA ThreadPoolExecutor(转)

    这篇文章分为两部分,前面是ThreadPoolExecutor的一些基本知识,后一部分则是Mina中一个特殊的ThreadPoolExecutor代码解析.算是我的Java学习笔记吧. 基础 在我看来 ...

  3. UC高级编程--实现myls程序

    跟着达内视频,学习UC高级编程,完毕程序小练习. 主要练习的函数为:  int lstat(const char *path, struct stat *buf);  size_t strftime( ...

  4. AE+SceneControl源代码共享

    近来的,博友发私信或邮件交换,第一次使用前SceneControl代做一点project股票,做的很粗糙.我们希望对大家有帮助,欢迎留言交流哈萨克斯坦. 除了主开.保存.数据加载.询价,几个功能主要是 ...

  5. Keepalived+LVS+Nginx负载均衡之高可用

    Keepalived+LVS+Nginx负载均衡之高可用 上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常 ...

  6. mv目录前后要加斜杠,否则会当成文件

    mv目录要加斜杠,否则会当成文件

  7. pygame系列_mouse鼠标事件

    pygame.mouse提供了一些方法获取鼠标设备当前的状态 ''' pygame.mouse.get_pressed - get the state of the mouse buttons get ...

  8. 1m网速是什么意思,1m带宽是什么意思

    1M网速下载速度应是多少?我怎么才50多KB?? 建议: 一般来说是90到100算正常.最高能达到120 带究竟该有多快 揭开ADSL真正速度之谜 常常使用ADSL的用户,你知道ADSL的真正速度吗? ...

  9. Sql还原数据库出现3154错误

    要先知道还原的数据库的名字 然后在数据库中新建一个那个名字的数据库, his 是数据库的名字!! RESTORE DATABASE his FROM DISK = 'E:\RDHL文件\HIS相关文档 ...

  10. HTML CSS——background的认识(一)

    今天回归bug时无意间看到了样式表中background属性,如今总结一下: 1.background-color:设置元素的背景色.其值能够为:color-name.color-rgb.color- ...