传统WebForm网站和MVC网站运行机制对比
2016-12-25 16:25
651 查看
先上图看对比:
浏览器向服务器发送请求报文,此时由IIS虚拟目录接受。(通过配置过IIS,把网站挂载在服务器上,通过访问虚拟目录的方式访问网站的。)
②转交请求
服务器端的IIS软件接收到请求后,把请求交给.NET FrameWork进行处理
③创建页面类对象
.NET FrameWork根据请求的地址index.aspx,会创建对应的index_aspx类的对象(页面对象)。
通过IIS传输出给浏览器,要输出的html元素或其他内容(html+js+css等)
②解析为图形界面
器解析html代码,并翻译为图形化界面
②转交请求(同上)
③创建类对象+方法
.NET FrameWork根据路由配置,解析URL,并创建news类的对象,并调用对象的index方法。通过View方法加载视图,然后访问视图文件夹下的index.cshtml
www.baidu.com/index.aspx
在用户看来请求的是index.aspx页面,实际上服务器端运行的是index.aspx对应的类(前台页面类的对象),先调用ProcessRequest方法,然后调Page_Load方法
②MVC:类名+方法名
www.baidu.com/news/index
服务器端创建index.asp的前台页面类的对象‘index.aspx’
②MVC:类对象
MVC:创建news类对象,并调用Index方法。
.NET FrameWork根据路由配置,解析URL,并创建news类的对象,并调用对象的index方法。通过View方法加载视图,然后访问视图文件夹下的index.cshtml
前台-->后台
前台页面继承于后台页面,可以通过<%...%>方式,访问后台页面公开的属性(强耦合)
后台-->前台
包含runat=Server控件的前台页面,都会以变量的方式存在于后台类中,供后台调用
MVC: ViewData
把ViewData当作一个中间类在Controller和View之间传输数据。好处:强类型视图。
一、运行机制
当我们访问一个网站的时候,浏览器和服务器都是做了哪些动作呢(一)WebForm网站运行机制
假设为:www.baidu.com/index.aspx1、Http请求(物理地址:index.aspx)
①发送请求浏览器向服务器发送请求报文,此时由IIS虚拟目录接受。(通过配置过IIS,把网站挂载在服务器上,通过访问虚拟目录的方式访问网站的。)
②转交请求
服务器端的IIS软件接收到请求后,把请求交给.NET FrameWork进行处理
③创建页面类对象
.NET FrameWork根据请求的地址index.aspx,会创建对应的index_aspx类的对象(页面对象)。
2、返回给浏览器
①转交回复通过IIS传输出给浏览器,要输出的html元素或其他内容(html+js+css等)
②解析为图形界面
器解析html代码,并翻译为图形化界面
(二)MVC网站的运行机制
假设为:www.baidu.com/news/index1、Http请求(逻辑地址:news/index)
①发送请求(news/index)②转交请求(同上)
③创建类对象+方法
.NET FrameWork根据路由配置,解析URL,并创建news类的对象,并调用对象的index方法。通过View方法加载视图,然后访问视图文件夹下的index.cshtml
2、返回给浏览器(同上)
二、区别
1、请求方式
①WebForm:index.aspx页面www.baidu.com/index.aspx
在用户看来请求的是index.aspx页面,实际上服务器端运行的是index.aspx对应的类(前台页面类的对象),先调用ProcessRequest方法,然后调Page_Load方法
②MVC:类名+方法名
www.baidu.com/news/index
2、服务器端创建对象
①webForm:页面类对象服务器端创建index.asp的前台页面类的对象‘index.aspx’
②MVC:类对象
MVC:创建news类对象,并调用Index方法。
.NET FrameWork根据路由配置,解析URL,并创建news类的对象,并调用对象的index方法。通过View方法加载视图,然后访问视图文件夹下的index.cshtml
3、传值方式
①WebForm:CodeBehand前台-->后台
前台页面继承于后台页面,可以通过<%...%>方式,访问后台页面公开的属性(强耦合)
后台-->前台
包含runat=Server控件的前台页面,都会以变量的方式存在于后台类中,供后台调用
MVC: ViewData
把ViewData当作一个中间类在Controller和View之间传输数据。好处:强类型视图。
三、总结
相同点:WebForm和MVC都是基于ASP.NET管道模型上的两种不同的开发方式。相关文章推荐
- 【.NET特供-第三季】ASP.NET MVC系列:传统WebForm网站和MVC网站运行机制对比
- WebForm网站和MVC网站运行机制的区别
- 【.NET特供-第三季】ASP.NET MVC系列:传统WebForm站点和MVC站点执行机制对照
- 谈MVC运行机制,源码剖析
- ASP.NET MVC 与 WebForm 对比
- C++机理:虚拟机制的实现[兼谈对比于传统机制]
- 不修改IIS设置,在IIS6下运行MVC架构的网站
- C++机理:虚拟机制的实现[兼谈对比于传统机制]
- MVC和WebForm的优缺点对比
- ASP.NET MVC整体运行机制原理图
- 让 ASP.Net MVC 的URL看上去像个传统WebForm的URL
- Hadoop1.x和2.X的HDFS fsimage和edits文件运行机制对比 推荐
- Phantom系统与传统的PC桌面管理机制的对比
- MVC运行机制
- ASP.NET MVC运行机制源码剖析
- MVC运行机制 (转)
- 虚拟主机中,不修改IIS设置,在IIS6下运行MVC架构的网站
- ASP.NET MVC学习笔记-MVC运行机制之源码剖析
- WebForm与MVC对比
- MVC网站的运行过程是这样的