ASP.NET MVC系列文章

【01】浅谈Google Chrome浏览器(理论篇)

【02】浅谈Google Chrome浏览器(操作篇)(上)

【03】浅谈Google Chrome浏览器(操作篇)(下)

【04】浅谈ASP.NET框架

【05】浅谈ASP.NET MVC运行过程

【06】浅谈ASP.NET MVC 控制器

【07】浅谈ASP.NET MVC 路由

【08】浅谈ASP.NET MVC 视图

【09】浅谈ASP.NET MVC 视图与控制器传递数据

【10】浅谈jqGrid 在ASP.NET MVC中增删改查

【11】浅谈ASP.NET 页面之间传值的几种方式

【12】浅谈缓存技术在ASP.NET中的运用

【13】浅谈NuGet在VS中的运用

【14】浅谈ASP.NET 程序发布过程

【15】浅谈数据注解和验证

【16】浅谈依赖注入

【17】浅谈表单和HTML辅助方法

【18】浅谈基于APS.NET身份验证

【19】浅谈ASP.NET MVC 模型

【20】浅谈ASP.NET MVC 单元测试

【21】浅谈ASP.NET MVC网络安全;

【22】浅谈ASP.NET MVC八大类扩展

【23】再谈ASP.NET MVC Routing

【24】浅谈ASP.NET 高级话题

【25】浅谈大型ASP.NET MVC项目(含DEMO)

【26】下一系列:ASP.NET WebAPI


描述

本篇文章主要概述ASP.NET MVC,具体包括如下内容:

1.MVC模式概述

2.WebForm概述

3.WebForm与MVC区别

4.ASP.NET MVC发展历程

5.运用程序结构

6.ASP.NET MVC 默认约定

一 MVC模式概述

1. MVC模式运用领域

分析:

(1)当前,MVC作为一种主流框架,被广泛运用,如JAVA Web开发,.NET ASP,NET MVC

(2)MVC模式被广泛运用于中间件,如RabbitMQ;

(3)MVC模式广泛运用于接口开发,如ASP.NET WebAPI;

(4)其他领域;

2.MVC大致流程概述

分析:

(1)MVC由三大核心模块构成:控制器(Controller,简称C),模型(Model,简称M)和视图(View,简称V);

(2)View负责视图呈现,Model负责数据处理,Controller负责处理视图与模型之间逻辑;

(3)WebForm中,一般是UI+BLL+DAL+Utility+WebService模式,而在MVC中,一般采用SOA+WebAPI+DAL+Model+MQ+AOP+Docker模式;

二 WebForm概述

1. WebForm生命周期

分析:

(1)WebForm Page生命周期,本质上为几个方法的运用;

(2)重点理解管道;

(3)分析页面生命周期时,应结合http本质来综合分析;

2.WebForm请求响应流程概述

分析:

(1).在WebForm中,资源可以分为静态资源和动态资源:

静态资源:JS文件,Images文件,CSS文件和Html文件等;

动态资源:.aspx,.ashx,.ascx等;

(2).在WebForm中,浏览器向IIS发出资源请求,当IIS收到请求URL时,先判断该请求是动态资源请求还是静态资源请求,然后分别按照不同的模式去服务器搜索资源。

3. WebFrom页面构成

分析:

(1)WebForm中,每个页面对应一个类,页面泪继承Page类,我们称为页面类,如上图中Default页面对应的类为_Default,

(2)每个页面由三部分组成:前端代码(Default.aspx),后台代码(Default.aspx.cs)和设计器(Default.aspx.designer.cs);

三  WebForm与MVC区别

1.WebForm不利于前后端分离,MVC前后端分离;

2.请求url不同,一般情况,WebForm请求的是服务器上的具体路径资源(当然你可以配置虚拟路劲),而MVC却并非如此(按照路由规则,一般情况是:/控制器/视图);

3.与MVC相互比较,响应时间(由于是服务端控件,服务器响应耗时)和带宽问题(WebForm会存在很多垃圾数据,如ViewState)

(4)WebForm中,一般是UI+BLL+DAL+Utility+Webservice模式,而在MVC中,一般采用SOA+WebAPI+DAL+Model+MQ+AOP+Docker模式;

四   ASP.NET MVC发展历程

五  运用程序结构

分析:

(1)在ASP.NET Web 框架中,目录结构是可以被扩展和修改的。

基于MVC框架自动生成的目录结构:

但在实际项目实践中,一般都需要调整,调整后的目录结构如下所示:

“空模板”,添加“单元测试”

默认生成结构如下

传统三层结构:

基于SOA架构

当然,在UI层,一般情况是需要分区的

六  APS.NET MVC基架约定

分析:

基于ASP.NET MVC 基架生成的MVC,有些默认的约定,如控制器必须以Cotroller结尾等,这些默认约定,不需要在Web.config配置文件中配置;

七   ASP.NET  B/S基架包含的模板

分析:

1..NET分为C/S和B/S,B/S基架包含的模板为WebForm,MVC,WebApi,Single Page Application,Azure API运用;

八  其他内容

路由,控制器,视图,模型,表单和Html辅助方法,数据注解和验证,成员资格、授权和安全性,Nuget,WebApi,依赖注入,单元测试,MVC高级主题,将在后续文章中与大家分享。

九 参考文献

【01】ASP.NET MVC5 高级编程(Jon Galloway,Brad Wilson,K.Scott Allen,David Matson ,孙远帅 译)

【02】MSDN

十  版权区

  • 感谢您的阅读,若有不足之处,欢迎指教,共同学习、共同进步。
  • 博主网址:http://www.cnblogs.com/wangjiming/。
  • 极少部分文章利用读书、参考、引用、抄袭、复制和粘贴等多种方式整合而成的,大部分为原创。
  • 如您喜欢,麻烦推荐一下;如您有新想法,欢迎提出,邮箱:2016177728@qq.com。
  • 可以转载该博客,但必须著名博客来源。

【ASP.NET MVC系列】浅谈ASP.NET MVC运行过程的更多相关文章

  1. MVC模式浅谈

    MVC模式浅谈 一.MVC模式概述 模型-视图-控制器(MVC模式)是一种非常经典的软件架构模式,在UI框架和UI设计思路中扮演着非常重要的角色.从设计模式的角度来看,MVC模式是 一种复合模式,它将 ...

  2. 【ASP.NET MVC系列】浅谈ASP.NET MVC八大类扩展(上篇)

    lASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操 ...

  3. 【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  4. 【ASP.NET MVC系列】浅谈ASP.NET MVC 视图

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  5. 【ASP.NET MVC系列】浅谈ASP.NET MVC 视图与控制器传递数据

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  6. 【ASP.NET MVC系列】浅谈ASP.NET MVC 控制器

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  7. 【ASP.NET MVC系列】浅谈ASP.NET MVC 路由

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  8. 【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  9. 浅谈ASP.NET ---- 系列文章

    [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP. ...

随机推荐

  1. oracle执行计划走偏处理步骤

    -- sql执行时间select a.EXECUTIONS,a.ELAPSED_TIME,a.ELAPSED_TIME/a.EXECUTIONS/1000/1000 as 秒,a.SQL_ID,a.H ...

  2. s3-1 数据链路层概述

    数据链路层功能 为网络层提供服务,良好的服务接口  保证数据传输的有效.可靠: - 处理传输错误:差错检测和控制 流量控制     • 基于速率     • 基于反馈 数据链路层的位置 位于网络层之 ...

  3. HDU 4609 3-idiots (组合数学 + FFT)

    题意:给定 n 条边,问随机选出 3 条边,能组成三角形的概率是多少. 析:答案很明显就是  能组成三角形的种数 / (C(n, 3)).现在的问题是怎么求能组成三角形的种数. 这个博客说的非常清楚了 ...

  4. java策略设计模式

    1.概述 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们可以相互替换,让算法独立于使用它的客户而独立变化. 其实不要被晦涩难懂的定义所迷惑,策略设计模式实际上就是定义一个接口,只要实现 ...

  5. 20155205 郝博雅 Exp6 信息搜集与漏洞扫描

    20155205 郝博雅 Exp6 信息搜集与漏洞扫描 一.实践内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务 ...

  6. [译]迁移到新的 React Context Api

    随着 React 16.3.0 的发布,context api 也有了很大的更新.我已经从旧版的 api 更新到了新版.这里就分享一下我(作者)的心得体会. 回顾 下面是一个展示如何使用旧版 api ...

  7. 关于QList<T>的内存释放

    当T为指针类型时,List.clear()不能释放其内存,需加上qDeleteAll()函数, //class Person ---> Person(int id_,QString name_) ...

  8. C++ 虚函数的两个例子

    1. 第一个例子是朋友告诉我Qt中的某个实现 1 #include <iostream> 2 3 // Qt中的某个实现 4 class A{ 5 public: 6 A() = defa ...

  9. angular-repeat

    ng-repeat="name in 变量名字 track by $index" 一个数组的时候ng-repeat="name in 变量名字" {{x.nam ...

  10. 浅析http缓存

    1.什么是缓存 将服务器上的静态资源,保存在本地,当发送web请求的时候,如果本地有“已缓存”的静态资源,则从使用本地保存的静态资源,而不是从源原服务器再次请求. 2.缓存的优点 缓存减少冗余的数据传 ...