二、创建一个ASP.NET MVC3应用
要了解MVC3是怎样工作的,最好的途径莫过于实际创建一个应用,那么我们开始吧。
ASP.NET MVC3软件需求
MVC3可以在如下Windows客户端操作系统运行:
- Windows XP
- Windows Vista
- Windows 7
它可以运行在以下几种服务端操作系统上:
- Windows Server 2003
- Windows Server 2008
- Windows Server 2008 R2
MVC 3开发工具既可以安装在Visual Studio 2010上,也可以安装在Visual Web Developer 2010 Express.
安装ASP.NET MVC3
确认满足了基本的软件需求后,到时间该在你的开发机器和产品机器上安装ASP.NET MVC3了。值得庆幸的是,这相当简单。
和MVC2并行安装
MVC 3和MVC 2是可以并列安装的,因此你可以安装并立即开始使用MVC3。你仍然可以像往常一样创建和更新已经存在的MVC2应用程序。
安装MVC3开发组件
ASP.NET MVC3开发者工具支持Visual Studio 2010或者Visual Web Developer 2010 Express(免费)。
安装MVC3,可以使用Web Platform Installer (http://www.microsoft.com/web/gallery/install.aspx?appid=MVC3),或者可执行安装包( http://go.microsoft.com/fwlink/?LinkID=208140)。我一般比较倾向于使用Web Platform Installer,因为它只下载和安装目前没有的组件。可执行安装包可以离线运行,它包含了所有需要的东西。
服务器安装MVC 3
安装包会检测它是否运行在不必支持开发环境的机器上,而且只需安装服务端部分。假如你的服务器是可以访问网络的,WebPI是一个轻量级的安装,因为没有必要安装任何开发者工具。
当在服务器上安装MVC3时,MVC运行时程序集是被安装在全局程序集缓存(GAC)中,这意味着该服务器上的所有网站都可以使用。另外一种方式是,根本不在服务器上安装MVC 3,而是在你的应用程序中包含所需的程序集,这种处理方式叫做二进制部署(bin deployment),实现方式是在项目引用中添加下列程序集,并在Visual Studio属性中将其设置为“本地”(Copy Local)。
- Microsoft.Web.Infrastructure
- System.Web.Helpers
- System.Web.Mvc
- System.Web.Razor
- System.Web.WebPages
- System.Web.WebPages.Deployment
- System.Web.WebPages.Razor
要想获取关于安装选项的更多信息,请查看Scott Guthrie的博客,名为“Running an ASP.NET MVC 3 app on a web server that doesn’t have ASP.NET MVC 3 installed,”,链接地址为:http://weblogs.asp.net/scottgu/archive/2011/01/18/running-an-asp-net-mvc-3-app-on-a-web-server-that-doesn-t-have-asp-net-mvc-3-installed.aspx.
创建一个ASP.NET MVC3应用程序
安装MVC 3之后,会发现Visual Studio 2010和Visual Web Developer2010都有了一些新的选项。两个IDE中的这些体验都是及其相似的,由于本书属于高级系列教程,我们将会主要以Visual Studio 开发环境为主,只在当两者区别较大的时候才会提到Visual Web Developer。
MVC 音乐商店
我们会使用基于MVC音乐商店博客的一些例子,这些例子的在线地址是:http://mvcmusicstore.codeplex.com,并且包含150页的电子教程来讲解MVC3应用程序的构建基础。本书中我们会稍微快一些,不过如果你需要更多关于介绍性话题的信息,好在他们有一个共同的起点(but it’s nice to have a common base if you need more information on the introductory topics )。
我们来新建一个MVC项目:
1.开始先选择File->New->Project,如图1-2所示。
2. 如下图所示,在新建项目对话框左侧列的模板部分,选择Visual C#->Web模板列。在中间列会显示web应用类型的列表。
3. 选择ASP.NET MVC3 web应用程序,将应用程序命名为MvcMusicStore,单击OK。
新的ASP.NET MVC3对话框
创建新的MVC3应用之后会看到一个对话框,包含项目创建过程中的一些具体的MVC选项,如图1-4所示。在对话框中勾选的选项将为你的应用程序生成一些具体的底层结构,包含账号管理、view引擎以及测试等。
应用程序模板(Application Templates)
首先,要在预先安装的两种项目模板中进行选择(如图1-4)。
- The Internet Application template:该模板包含了MVC web 应用程序的基本内容,创建完成后可以立即运行并看到一些页面。只需要短短一分钟时间就可以完成这些。该模板还包含了一些基本的账号管理功能,它对应着ASP.NET Membership系统(第7章中会讨论到)。
ASP.NET MVC3更新工具中还添加了Intranet Application template,但它的账号管理功能不是针对ASP.NET membership系统,而是关于windows账号。
- The Empty template:这个模板基本上是空的。它也包含了基本的文件夹、CSS和MVC应用的基本架构,但是仅此而已。直接运行用空模板创建的应用将会看到错误信息——你需要从头开始一步步进行开发工作(you need to work just to get to square one)。既然如此,那为什么还要将该模板包含进来呢?其实空模板是为了方便经验丰富的MVC开发人员更精确的按照自己的需要来进行设置和配置。我们将会在本章后半部分简略的看一下空应用程序的结构。要想了解更多,可以参考一下MVC音乐商店的应用程序,它就是用空模板创建的。
View引擎(View Engine)
在新的ASP.NET MVC3项目对话框中,接下来的选项是view引擎下拉框。View引擎提供了不同的模板语言用来生成MVC项目中的HTML标签。在MVC3之前的版本中,view引擎唯一的集成选项是ASPX或者说Web Forms。这个选项依然是可用的,如图1-5所示。
测试(Testing)
如果使用了Internet或者Intranet应用程序模板,那么在新的ASP.NET MVC3项目对话框中会有另外一个选项。该部分主要处理测试,如图1-6所示。
如果不选中创建测试项目的复选框,那么意味着你的项目创建时不会包含任何单元测试,也就没有其他的需要做了。
|
在选中创建单元测试项目复选框(Create a Unit Test Project box)之后,会有两外几个选项:
你可能已经注意到,只有一个测试框架供选择,这看起来好像没有太大必要了。只有一个下拉框选项是因为单元测试框架式可以注册到该对跨框中的,所以如果你安装了其他单元测试框架(如xUnit, Nunit, MbUnit等),那么将会显示在该下拉框列表中。
Visual Studio Unit Test Framework只在Visual Studio 专业版或者更高版本中可用。如果你使用Visual Studio 2010标准版或者Visual Web Developer 2010 企业版,那么你需要下载安装ASP.NET MVC的Nunit, MbUnit或者Xunit扩展包才可以看到这个对话框。
为单元测试框架下拉框注册测试框架
可曾想过为新的MVC新建项目对话框注册测试框架要涉及到哪些吗?
该过程在MSDN上进行了详细的描述(http://msdn.microsoft.com/en-us/library/dd381614.aspx)。主要包括两个步骤:
1. 为新的MVC测试项目创建并安装模板项目;
2. 通过在HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0_Config\MVC3\TestProjectTemplates下添加一些注册表项来注册测试项目类型。
检查并确认你的信件MVC 3应用程序对话框中的设置和图1-8中一致,然后单击确定。
这样就创建了包含两个项目的解决方案——其中一个是web应用程序,另外一个是单元测试项目,如图1-9所示。
本文转自 陈敬(Cathy) 博客园博客,原文链接:http://www.cnblogs.com/janes/archive/2012/03/30/2419022.html,如需转载请自行联系原作者