ASP.NET MVC官方指南学习总结
MVC框架图如下:
在你决定使用MVC框架或Web Forms模式开发之前,请认真衡量一下各自的优点。
基于MVC的Web应用程序优点:
它能很容易的管理复杂的应用程序,将它分为model,view和controller。
它不能使用view state和服务器控件,这使得MVC框架开发人员拥有对应用程序完全控制的能力。
它使用前端控制器模式,通过单一的过程处理Web应用程序的请求,这使你可以使用丰富的URL routing来设计应用程序。更多信息可以在MSDN站点的Front Controller查看。
它对测试驱动开发(TDD)提供更好的支持。
它可以让Web开发者和页面设计人员控制自己关心的工作,从页适合大型团队的开发。
基于Web Forms Web应用程序的优点:
它可以支持事件模型并保存HTTP的状态,益于线性业务的Web应用程序开发,基于Web Forms应用程序提供了许许多多的事件和上百种的服务器控件。
它使用页面控件器模式,在单个页面中实面很多的功能。更多信息请参考MSDN站点上的Page Controller。
它使用view state和基于服务器的表单,使得管理页面状态信息更加容易。
它适合小的开发团队,使用高度集成的控件来提高Web设计人员和网页设计人员的效率。
一般来说,它适合不是那么复杂的应用程序开发,因为它的页面类和控件类是合并在一起的,所以相对于MVC模式来说它需要编写的代码更少。
Asp.net MVC支持ASP.NET框架的特性:
forms的身份验证和Windows的身份验证。
URL验证。
Membership和roles。
输出和数据缓存。
session和profile状态管理。
健康状态监控。
configuration系统和provider架构。
以下表格是ASP.NET MVC执行周期中所处的阶段:
阶段
介绍
收到第一次请求
在Global.asax文件中将Route对象依次增加到RouteTable对象。
执行路由
UrlRoutingModule模块先从RouteTable集合中依次匹配Route,如果匹配到后就创建RouteData对象,然后使用它来创建RequestContext(IHttpContext)对象。
创建请求MVC处理模块
MvcRouteHandler对象创建一个MvcHandler的实例类型并传入RequestContext的实例
创建controller
MvcHandler对象使用RequestContext实例以确定IControllerFactory对象(通常是DefaultControllerFactory类的实例)来创建controller实例。
执行controller
The MvcHandler instance calls the controller's Execute method.
MvcHandler实例调用controller的Execute方法。
调用action
大多数控制器继承自Controller基类,Contro
相关文档:
摘要
在这篇文章中,Masoud讨论了应用ASP.NET中统一身份验证模型进行跨应用程序验证的问题,包括:Membership Providers, web.config配置,配置文件的加密解密等。在文章的最后,作者提供了通过ASP.NET login controls来验证的程序。
by Masoud Tabatabaei:
目录
简介
什么是SSO?它是怎样工作的?
系统条件 ......
1. 简述 private、 protected、 public、 internal 修饰符的访问权限。
答 . private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public ......
61.产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。
int[] intarr=new int[100];
arraylist mylist=new arraylist();
random rnd=new random();
while(mylist.count<100)&nb ......
有关于URL的重写,本文也只是拿来主意。相继有MS的组件“URLRewriter”和在Global.asax里的“Application_BeginRequest()”编码方式,以及IIS里的ISAPI设置。
娜列下来,实现方法也都很简单。
方法一:MS组件
这里也不用详解了,相关请看:
http://www.microsoft.com/china/msdn/library/webservic ......
(1)了解到namespace的3中引用方法
(2)了解了assembly:类似于动态链接库.dll的东西。分为公共和私有的assembly。前者存放在GAC中。
如果你的程序要使用某一类库,有两步要做:1,把application链接到assembly;2,引入namespace。
(3) ......