一、共同点

它们共用一套管道机制。

二、不同点:

1、开发方式:

webform开发方式

第一步:前台页面(*.aspx)+后置代码类(*.cs)
第二步:前台页面(*.aspx)+一般处理程序(*handler.ashx)
第三步:html+JQuery.Ajax+一般处理程序(*handle.ashx)
 
MVC开发方式
控制器(Controller)- 负责转发请求,对请求进行处理。
视图 (View) - 界面设计人员进行图形界面设计。
模型 (Model)-业务逻辑、数据、验证规则、数据访问等等
View 和 Controller都可以直接请求Model,但是Model不依赖View和controller
Controller可以直接请求View来显示具体页面,View不依赖Controller
真正和用户打交道的是 控制器,视图/模型 只是被控制器调用并产生html代码而已。
 
注意:三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是以实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的。 
 
2请求模型不同
MVC请求模型

 
 
 
 
 
 
 
 
 
 
 
 
 
 
简化:

 
 
 
 
 
 
 
 
 
 webfrom请求模型

 
 
 
 
 
 
 
 
 
 
 
 
 
简化:页面<---->实体模型
 
 详情:http://www.cnblogs.com/edisonchou/p/4216337.html
 
附录一:aspx与ashx的区别
 
*.html (htm): 由浏览器来解释(翻译)代码并显示给使用者浏览。因此,其几乎不占用服务器资源,可以直接发送给请求者,由请求者的浏览器来负责解释工作。 *.aspx: 由服务器中的.net编译器来负责解释,翻译成html内容,然后发送给请求者。 *.ashx: 由服务器中的.net编译器来负责解释,翻译成指定内容,然后发送给请求者。 aspx 与 ashx的区别在于,aspx是一个自带生命周期的大型容器(自身有界面属性),其包含创建,初始化,加载,渲染,卸载等等过程。(无论你用还是不用这些过程)。而ashx不存在界面,与aspx相比,不经过页面生命周期,因此占用资源非常少。 通常如果非必要时,我们应该采用ashx。比如当需要使用ajax调用服务器内容时,一般不要创建.aspx文件来获取内容,而用.ashx文件来获取内容,以保证资源消耗最少的方式。
 
附录二:页面生命周期:
详细
http://www.cnblogs.com/zhaoyang/archive/2011/11/16/2251200.html
实践
http://www.cnblogs.com/jackcxd/archive/2010/05/29/1746310.html
附录三:Ajax与json
http://www.cnblogs.com/rush/archive/2012/05/15/2502264.html

WebFrom与MVC异同的更多相关文章

  1. WebFrom模拟MVC

    如:  aspx前台     这样写生成页面时不会产生新的html标签,用控件则会产生新的html标签 <h1><%= title %></h1> <p> ...

  2. [转]asp.net webform 与mvc 共享session

    公司内部系统最早是用.net webform模式开发的,现新项目用.net mvc 开发,现存在的问题就是如何保持原有.net webform的登录状态不变,而在mvc中能够验证用户的登录状态,也就是 ...

  3. asp.net webform 与mvc 共享session

    公司内部系统最早是用.net webform模式开发的,现新项目用.net mvc 开发,现存在的问题就是如何保持原有.net webform的登录状态不变,而在mvc中能够验证用户的登录状态,也就是 ...

  4. ASP.NET/MVC/Core的HTTP请求流程

    ASP.NET HTTP管道(Pipeline)模型 1. 先讲一点,再深刻思考 一般我们都在写业务代码,优化页面,优化逻辑之间内徘徊.也许我们懂得HTTP,HTTPS的GET,POST,但是我们大部 ...

  5. 简述C#中IO的应用 RabbitMQ安装笔记 一次线上问题引发的对于C#中相等判断的思考 ef和mysql使用(一) ASP.NET/MVC/Core的HTTP请求流程

    简述C#中IO的应用   在.NET Framework 中. System.IO 命名空间主要包含基于文件(和基于内存)的输入输出(I/O)服务的相关基础类库.和其他命名空间一样. System.I ...

  6. Mvc+Hui+SqlSugar+Autofac+NLog+T4 架构设计(一)

    一.前言 作为小菜鸟第一次写博客的我还有点小激动,最近开始打算着手写一个属于自己架构.算下来差不多最近花一周多的下班时间了来写这个框架,本来想整体架构开发完成测试完成后才写博客,怕自己没时间或失去动力 ...

  7. vs 2010 中类文文件模板的修改

    类模板 文件的修改,以前也修改过,这次有个同事问我,搞了有一会才搞定,这里还是记录分享下. 如果想在每次创建文件时,自动生成文档注释(注意是自动生成文档注释而不是帮助文档),如下面的代码,需要设置VS ...

  8. C#之系统异常处理机制

    在系统开发过程中,BUG和异常产生是无处不在的,但是需要我们去做的就是不断去发掘异常.修改异常. 这篇文章主要谈谈我在系统中解决异常的几种方法: 1.控制台程序产生的异常: 在大多数的控制台程序中,运 ...

  9. 【DDD】领域驱动设计精要

    本文算是<领域驱动设计>这本书的读书笔记,加上自己的一些读后感.网上有很多这本书的读书笔记,但是都是别人的,不如自己总结的理解深刻.建议大家在读这本书时结合<实现领域驱动设计> ...

随机推荐

  1. await和async在C#一般处理程序(ashx)中的使用

    public class hello : HttpTaskAsyncHandler, IReadOnlySessionState { public IFetchServise fetch { get; ...

  2. golang简单实现jwt验证(beego、xorm、jwt)

    程序目录结构 简单实现,用户登录后返回一个jwt的token,下次请求带上token请求用户信息接口并返回信息. app.conf文件内容(可以用个beego直接读取里面的内容)写的是一个jwt的se ...

  3. Lerning Entity Framework 6 ------ Inserting, Querying, Updating, and Deleting Data

    Creating Entities First of all, Let's create some entities to have a test. Create a project Add foll ...

  4. 201621123018《Java程序设计》第7周学习报告

    1. 本周学习总结 1.1 思维导图:Java图形界面总结 2.书面作业 1. GUI中的事件处理 1.1 写出事件处理模型中最重要的几个关键词. 事件.事件源. 事件监听器.事件处理方法 1.2 任 ...

  5. 一分钟学会git

    首先 克隆 源码地址 git clone git://github.com/jquery/jquery.git 更新 git pull查看状态 git status暂存所有(注意 . 表示全部暂存) ...

  6. git使用分支与tag

    查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name> 创建+切换分支:git checkout -b ...

  7. 机器学习与Tensorflow(3)—— 机器学习及MNIST数据集分类优化

    一.二次代价函数 1. 形式: 其中,C为代价函数,X表示样本,Y表示实际值,a表示输出值,n为样本总数 2. 利用梯度下降法调整权值参数大小,推导过程如下图所示: 根据结果可得,权重w和偏置b的梯度 ...

  8. main函数中如何等待协程运行完毕

    使用channel同步 package main import ( "fmt" ) func printNumber(num int, c chan struct{}) { fmt ...

  9. android初探

    随着nodejs的不断发展,前端的范围越来越大,所以,适当的了解移动端是非常有必要的,比如使用RN开发app,前端必须要和安卓工程师沟通共同开发,那么学习android的基本知识就很重要了,因为目前安 ...

  10. asp.net core web 添加角色管理

    新建asp.net core web应用 添加RolesAdminController [Authorize(Roles = "Admin")] public class Role ...