1.1 ASP.NET MVC 简介
ASP.NET是一种构建Web应用程序的框架,它将一般的MVC(Model-View-Controller)模式应用于ASP.NET框架。
1.1.1 MVC模式简介MVC将应用程序的用户界面(User Interface, UI)分为三个主要部分:
模型:一组类,描述了要处理的数据以及修改和操作数据的业务规则。
视图:定义应用程序用户界面的显示方式。
控制器:一组类,用于处理来自用户、整个应用程序流以及特定应用程序逻辑的通信。
MVC作为用户界面模式
注意这里的MVC指的是一种用户界面模式。MVC模式是处理用户交互的一种解决方案,它并不处理应用程序关注的其他问题,如数据访问、服务交互等。
1.1.2 MVC在Web框架中的应用MVC模式经常应用于Web程序设计中。在ASP.NET MVC中,MVC三个主要部分的定义大致如下:
模型:模型是描述程序设计人员感兴趣问题域的一些类,这些类通常封装存储在数据库中的数据,以及操作这些数据和执行特定域业务逻辑的代码。在ASP.NET MVC中,模型就像使用了某种工具的数据访问层(Data Access Layer),这种工具包括实体框架(Entity Framework)或者与包含特定域逻辑的自定义代码组合在一起的NHibernate。
视图:一个动态生成HTML页面的模板。
控制器:一个协助视图和模型之间关系的特殊类。它响应用户输入,与模型进行对话,并决定呈现哪个视图(如果有的话)。在ASP.NET MVC中,这个类文件通常以后缀名Controller表示。
注意 MVC是一种高级架构模式,它的使用取决于具体应用环境。ASP.NET MVC的上下文是问题域(一个无状态的Web环境)和宿主系统(ASP.NET)。
ASP.NET MVC注重应用MVC模式来提供一个运行在.NET平台上的强大Web开发框架,上下文则是其强大原因的一部分。
ASP.NET采用了大部分觊觎MVC的Web框架所使用的一些基本原则:
约定优于配置(convention over configuration)
不重复(又名DRY原则)
尽量保持可插拔性(pluggability)
尽量为开发人员提供帮助,单必要时允许开发人员自由发挥。
1.2 ASP.NET MVC5概述ASP.NET MVC5主要特性:
One ASP.NET
新的Web项目体验
ASP.NET Identity
Bootstrap模板
特性路由
ASP.NET基架
身份验证过滤器
过滤器重写
1.2.1 One ASP.NET在MVC5中,只有一种ASP.NET项目类型。在Visual Studio2013中创建新的Web应用程序时,没有复杂的选项,只有Web应用程序。不只是在一开始创建ASP.NET项目时才支持这么做:在不断开发的过程中,可以添加对其他框架的支持,因为工具和特性都是作为NuGet包提供的。例如,如果开发过程中改变了想法,就可以使用ASP.NET基架向任何现有的ASP.NET应用程序添加MVC。
1.2.2 ASP.NET IdentityASP.NET Identity的一些主要的新特性:
One ASP.NET Identity系统:为了支持前面介绍的One ASP.NET这个关注点,新的ASP.NET Identity被设计为可在整个ASP.NET家族中使用。
控制用户资料数据:ASP.NET Identity使得存储额外的用户信息很容易,只需要在代表用户的模型类中添加属性即可。
控制优于持久化:默认情况下,所有用户信息都使用Entity Framework Code First存储,所以可以获得我们在使用Entity Framework Code First时已经习惯了的简单性和控制。但是,也可以插入其他任何我们希望使用的持久化机制,包括其他ORM、数据库、自定义的Web服务等。
可测试性:ASP.NET Identity API是使用接口设计的,所以允许为用户相关的应用程序代码编写单元测试。
基于声明:虽然ASP.NET Identity仍然支持用户角色,但是也支持基于声明的身份验证。
登录提供器:ASP.NET Identity并不是只关注用户名/密码身份验证,而是也理解用户经常通过社交服务-提供器和Windows Azure Active Directory进行身份验证。
NuGet分发:AP.NET Identity 作为NuGet包安装到应用程序中。这意味着可以单独安装ASP.NET Identity,并且通过更新一个NuGet包,就可以把它升级到新版本。
1.3 安装MVC5和创建应用程序 1.3.1 创建ASP.NET MVC5应用程序创建一个新的MVC项目的步骤如下:
(1).选择File|New Project选项。
(2).在New Project对话框左栏的Installed Templates部分,选择Visual C#|Web模板列表,这件在中间栏显示Web应用长须类型列表。
(3).选择ASP.NET Web Application,将应用程序命名为MvcMusicStore,然后单击OK按钮。
1.3.2 New ASP.NET Project对话框创建一个新的MVC5应用程序后,将会出现New ASP.NET Project对话框。该对话框列出了所有ASP.NET应用程序共有的一些选项: