Spacebuilder:为什么选择asp.net mvc?

该资料为 Spacebuilder官方内部资料,主要详细阐述了Spacebuilder从1.0到2.0的在架构上的改变,为什么选择了微软最新的asp.net mvc技术,如何搭建一个更好的Web2.0社区平台产品。
附原件pps下载链接: http://tinyurl.com/d9ymlo
提纲:
一、SPB表现层当前存在的问题
二、WebForm与MVC比较
三、asnet mvc介绍
四、使用mvc注意事项

一、SPB表现层当前存在的问题

1.表现层整体运行效率低

由于全部采用的自定义控件,是靠在运行时动态加载skin文件实现换肤的,导致以下性能问题: 

*动态加载skin导致全部采用FindControl方式导致浪费很多服务器资源; 

*在加载skin文件时首先都要检查文件是否存在,也浪费了服务器资源; 

*不利于前端优化,当前不好控制css、JavaScript的链接位置及JavaScript的执行位置; 

*即便很多功能不依靠ViewState但是为了减小页面大小还需要对ViewState进行处理;

2.ajax效率低

      当前spb的ajax主要使用的是asp.net ajax的UpdatePanel,使用UpdatePanel并不是真正的ajax解决办法,其实只是一个防止页面刷新的障眼法而已,页面的传输流量没有减少而且会经历完整的页面生命周期。

3.url rewrite不够灵活

*当前实现二级域名形式(http://mazq.spacebuilder.cn)url rewrite,要借助外部工具;

*无法重写实现类似目录的url重写,例如:http://spacebuilder.cn/mazq/blog/2008/8/10/19

4.SEO困难

*css、js文件的链接及加载位置难以控制,页面内容不利于SEO;

*当前url rewrite规则不利于SEO;

 

二、WebForm与MVC比较

1.WebForm与MVC表现层模式比较

 

mvp

                                                                     View不能重用
                                                                     P与V关系密切

                                                           View可以完全交给界面设计人员

mvc

                                                                     View可以重用

                                                                   C与V关系不紧密

                                                     View完全交给界面设计人员有一定难度

2.WebForm优缺点分析

优点:快速上手、快速开发、强大的扩展机制

缺点:复杂的引擎、对于开发高性能的站点反而降低开发效率(解决ViewState、控件ID、换肤功能、SEO)

3.asp.net mvc优缺点分析

优点:

原生态url routing,便于url rewrite 
Control与View完全分离,利于换肤且没有性能损失 
便于对输出的html做完全的控制,利于精简代码及SEO 
表现层的性能可以优化到极致 
应用asp.net的master及去除控件的运行时特性,使用vs开发时将可以使用设计视图

缺点:

开发人员需要花时间熟悉这个新技术 
现有代码移植到mvc需要一定时间
开发人员需要熟悉html以及css、JavaScript 
开发人员需要摆脱在WebForm开发时对服务器控件种种依赖

 

三、asp.net mvc介绍

1.mvc运行图

mvc运行图

 

2.mvc详细请求流程

mvc详细请求流程

 

(1)用户发起一个url请求

(2)asp.net mvc framework通过url roueing rules找到一个处理该请求的Controller及Action
(3)Controller调用Model加载View需要的数据
(4)Model从数据库获取数据
(5)Controller把从Model取出的数据传输到View,然后由View负责对外呈现

 

四.使用mvc注意事项

1.aspx、ascx、master依然可用,但是不再有postback模型,亦不会有页面生命周期及ViewState;

2.asp.net mvc框架将完全支持象forms/windows身份认证,URL授权,成员/角色,输出和数据缓存,session/profile状态管理,健康检测,配置系统,以及provider架构等现有的ASP.NET特性;

3.SBContext将不复存在;

4.XxxUrls Url集中管理类将不复存在;

5.所有依赖ViewState的控件将重新考虑设计或直接去除;

6.ResourceManager及相关控件需要调整

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值