Pro ASP.NET MVC 3 Framework译文(二)第二章:准备工作

在开始开发MVC架构的应用程序之前,需要做一些准备工作。本章中,我们将介绍在开发用的工作站和部署用的服务器上我们准备要用到的一些工具。

 

一 工作站准备工作

 

要使用MVC框架作开发,一个小型的工具包集是必须的。包括Visual Studio 2010,Web Platform Installer和一部分可选组件像IIS体验版之类的工具。下面,我们将详细说明如何安装这些工具。

 

(一) 安装Visual Studio 2010

要在工作站上使用MVC开发,第一步的准备工作就是安装Visual Studio 2010Visual Studio是微软出品的集成开发环境(IDE),如果你早先针对微软平台进行过开发工作,这是你最有可能使用的一个工具。

Visual Studio 2010分为许多不同的版本,每个版本按功能的不同,价格也不同。本书,我们需要使用下列版本之一:

Visual Studio 2010专业版

Visual Studio 2010高级版

Visual Studio 2010旗舰版

这三个版本都包含了我们需要的功能,都能够实现我们的目的。

安装Visual Studio和安装其它Windows应用程序没什么两样,安装前请确保你的系统已经安装最新的更新和服务包。

 

使用VISUAL WEB DEVELOPER体验版

微软同时还出品了一系列轻量级的Visual Studio版本,称之为体验版。针对Web应用程序开发的产品叫做Visual Web Developer 2010体验版。

微软区分体验版的方法之一就是移除了对测试的内置支持。正如我们接下来要说到的,测试是MVC框架理念中不可分割的一部分,我们还将演示如何使用Visual Studio中的测试工具。

要在Web Developer Express上进行MVC开发,你还需要一个第三方的测试工具,比如NUnithttp://www.nunit.org)。对于如何安装和使用NUnit,这里不作说明,同时,如果读者使用Web Developer Express测试本书中的示例,我们不能保证不会出现这样那样的问题。简单的说,你可以使用Web Developer Express进行MVC程序开发,但你会发现本书的后续部分对于Web Developer Express来说会极具挑战性,那时你就得自己解决你所遇到的问题了。

 

完全安装Visual Studio 2010旗舰版需要7.8G的空间,不过里面包含的一些编程语言和功能我们并不需要。如果你不想花费这么多空间,你可以只选择本书中需要的组件,如图21所示。

21 定制Visual Studio的功能

本书中我们只会用到Visual C#Visual Web Developer功能。默认情况下,Visual Studio的安装过程包括了SQL Server 2008体验版,不过我们建议你取消此选项,然后按照本章后面的说明获取并安装最新版本的数据库。

根据你使用的操作系统和Visual Studio版本的不同,需要安装的功能集选项可能有所不同,但你至少要检查是否选中了图21中所示的功能,系统还会针对MVC框架开发的需要自动安装部分关键组件。包括Visual Studio主程序,.NET Framework 4.0,以及我们将要用的一些幕后功能,比如内置的应用程序开发服务和单元测试支持。

注意:Visual Studio 2010安装程序中Visual Web Developer部分包含是MVC框架的2.0版。不过不用担心,本章后面我们会将你如何升级到MVC 3

 

(二)安装必备软件

我们需要的一些组件是微软在不同时间发布的。比如,Visual Studio 2010发布的时候,MVC才是2.0版。升级这些当前我们需要的组件(包括十分重要的MVC 3)最简便的方法就是使用Web Platform InstallerWebPI)。

WebPI是微软提供的一个免费工具,它可以下载和安装微软有关web平台的所有组件和产品。这里面可用的软件范围非常广,包括一些当前流行的第三方插件。

你可以访问http://microsoft.com/web/downloads下载WebPI,如图22所示。(微软不时的会变换这个页面的布局,所以你看到样子可能有所不同)

22 下载Web Platform Installer

下面我们下载并运行安装程序。这个名称可能会引起一点小困惑:这是一个WebPI的安装程序。你下载的是一个常规的windows安装程序,它将负责安装WebPI工具。你将要使用这个工具去下载和安装web应用程序组件。

WebPI会自动启动,接着你会看到如图23所示的选择窗口。

23 Web Platform Installer界面

这个窗口的上部有三个分类。我们感兴趣的组件位于产品类别中。我们可以通过滚动屏幕,选择窗口左侧子类或者使用搜索栏定位下面列表中的组件:

Visual Studio 2010 SP1

SQL Server Express 2008 R2

ASP.NET MVC 3 Tools Update

然后点击每个组件右侧的“添加”按钮,完成全部选择后,点击下面的“安装”按钮开始下载和安装过程。

注意:使用WebPI向工作站安装SQL Server Express时将假设你的开发环境和数据库运行在同一个机器上。如果你想把它们放在不同的机器上,就像Adam一样,你可以在你想安装数据库软件的机器运行WebPI

 

(三) 安装可选组件

这里有几个附加的组件你可能会考虑使用:MVC框架的源代码,IIS ExpressSQL Server 2008 Management Express。这些东西不是本书必须要求安装的,但是我们发现它们在日常工作非常有用。

1 MVC框架源代码

微软公开了MVC框架的源代码,因此我们可以下载并学习它们。使用MVC框架不需要源代码,并且本书我们也不会提到源代码,不过当你碰到了一个无法解决的问题时,能够参考源代码可能对你解决问题大有帮助。

你可以从http://aspnet.codeplex.com网站获取MVC框架源代码。微软发布源代码的许可协议还算公道,不过你还应该保证你愿意接受其强加的限制。

 

2 IIS Express

Visual Studio中包含一个web服务器,你可以用它来运行和调试你的MVC应用程序。大部分情况下,它可以完成你想要做的任何事情,我们在本书也会一直使用它。

不过正因为它是内置服务器(叫做ASP.NET开发服务器)它的作用也是有限的,它并不像IIS那样能够提供完整的Web服务器功能。举一个简单的例子,这个内置的服务器就不支持安全套接层(SSL)。虽然也可以使用全功能非体验版的IIS作为我们应用程序的web服务器,但这样你会失去ASP.NET开发服务器与Visual Studio的紧密集成的特性。

现在有个两全其美的方法就是使用IIS Express,它综合了内置服务器的紧密集成性,同时也实现了IIS的全部功能。IIS Express仍然还是一个开发服务器-也就是说你不应该尝试在真实环境中使用它-但是它可以让我们的开发过程和应用程序部署后的运转情况更加一致。你可以通过安装Visual Studio Service Pack 1获取IIS Express

 

3 SQL Server 2008 R2 Management Studio Express

本书中我们的所有数据库操作都可以通过Visual Studio来完成,不过要管理数据库的更多方面,我们更喜欢使用SQL Server管理工具。你可以通过WebPI工具获取SQL Server Management Studio

 

二 服务器准备工作

 

工作站只是MVC世界一个部分。你还需要一个能够部署你的应用程序的服务器。MVC应用程序必须部署在微软的应用程序服务器IIS之上。

提示:如果你希望立即开始你的MVC开发之旅,你可以跳过本章这个部分的说明,到你准备部署应用程序再来进行服务器的安装工作,第23章将会介绍如何部署应用程序。

大部分版本的Windows系统中都包含了IIS,包括客户端的操作系统如Windows VistaWindows 7也包含了IIS。不过我们不建议把MVC应用程序部署到客户端操作系统上。除了那些最小、最简单的web应用程序,这些版本的Windows系统底层的局限性决定了它们不适合部署其它的应用程序。我们建议你使用Windows系统的服务器版。我们写这本书的时候其最新的服务器操作系统的版本是Windows Server 2008 R2,在其中就集成了IIS 7.5版,我们将对这个版本提供说明。

注意:我们也可以在Windows Server 20032003 R2版中的IIS 6中部署MVC 3应用程序。本书我们不打算涉及IIS 6,不过http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx这篇文章演练了如何在IIS 6部署MVC 3项目。

在下面的内容中,我们只介绍部署和运行一个MVC应用程序需要配置服务器的最小步骤:启用Web服务器的角色功能,安装.NET Framework 4.0版以及Web部署工具,然后部署Web项目。我们假设你的服务器安装了最新版的Windows Server。要获取在生产环境中部署Windows ServerIIS的最佳实践信息,请访问http://www.iis.net中的学习中心,在那里你可以找到丰富的参考信息。

 

使用主机托管服务

你可以使用一个主机托管服务商提供的主机代替你自己的服务器部署你的应用。ASP.NET主机托管市场极具活力和竞争力。你可以从无数的价格中选择合适的配置-这一切都来自于和他人共享的功能强大的专用服务器。

当你注册成为主机托管服务商的用户,他会向你发送你购买的服务管理方法和应用程序的部署说明。请确保你的供应商支持ASP.NET 4.0就可以了,即使他没有在服务器上安装MVC 3框架也不要紧,我们在第23章有一个不错的方法可以解决这个问题。

 

(一) 启用Web服务器角色功能

我们要做的第一个工作就是在Windows ServerWeb服务器(IIS)上启用角色功能。打开服务器管理器,在“角色摘要”部分选择“添加角色”,如图24所示。

24 向Windows Server中添加角色

这样添加角色向导将会启动。你会看到一个可用角色列表(角色的数量取决于你使用的Windows Server 2008 R2的版本)。选中Web服务器(IIS)角色前的复选框,点击“下一步”按钮。

继续点“下一步”配置向导,直至出现“选择角色服务”界面,它将以列表形式显示Web服务器(IIS)可用的角色服务。请确保下面的两个服务被选中:

ASP.NET(在应用程序开发类里面)

管理服务(在管理工具类里面)

ASP.NET角色服务是必须要安装的,没有它你就无法安装和运行MVC框架应用程序。管理服务角色服务是我们接下来将要安装的Web部署工具所必须的。

继续点“下一步”,向导将会出现“确认安装选择”界面,这里面显示了我们前面选择的角色和要启用角色服务,确认无误后,点击“安装”按钮。

安装过程完成以后,你应该能使用浏览器来测试IIS的基本功能了。通过服务器自已的浏览器(访问http://localhost)或者通过另外一台机器上的浏览器(访问http://你服务器的IP地址)即可导航到你服务器上的默认URL。如果你的安装没有什么的问题的话,你将会看到如图25所示的IIS 7.5欢迎页面。

25 IIS欢迎页面

(二) 安装附加组件

下一步我们要做的就是通过服务器上的WebPI获取并安装附加的软件组件。你只需要下面的两个组件:

.NET Framework version 4.0

Web部署工具2.0

MVC框架依赖于.NET 4.0,它也是运行本书示例的必要条件。

我们将在第23章介绍如何部署Web项目。使用Web部署工具只是众多的部署MVC应用程序的方法之一,不过如果你想重现本书中的内容你需要用到它。

同时这里你也可以选中安装SQL Server 2008 R2。安装SQL Server Express过程中,系统会提示你选择身份验证模式。此处选择混合验证模式,并为sa用户创建一个密码。请特别注意这里。

MVC框架如此重要在这里却是可选项,这看上去很奇怪,其实是因为你在生成部署包的时候还可以选择包含框架库文件。这点对于你要将一个应用程序部署到一个不受你管理的服务器特别有用。第23章中将演示这个技术。

注意:WebPI的一个特色功能就是它能够自动处理依赖问题。例如,如果你只选择了安装ASP.NET MVCWebPI将自动选中并安装.NET 4.0

如果你没有专用的数据库服务器,你可以在运行IIS的服务器上安装SQL Server。这一步是可选的,不过在第23章中,我们将把如何部署数据库作为应用程序部署过程的一部分加以说明,那时我们还需要你提供一个SQL Server数据库实例。

 

(三) Web部署设置

在第23章,我们将会演示如何使用Web部署功能在服务器上部署MVC框架应用程序。不过,在你还没学会它之前,你需要学会如何配置IIS以处理请求。

注意:我们将Web部署配置为允许服务器上任意具有管理员权限的帐户都可以被用来部署我们的MVC框架应用程序。如果使用非管理员用户进行部署将会是一个漫长的过程。相关的教程请参见http://learn.iis.net/page.aspx/984/configure-web-deploy

在开始菜单找到并打开Internet信息服务(IIS)管理器。在窗口左侧的“连接”面板中,选择以计算机名显示的服务器标识。我们的服务器叫做WIN-2008R2,你可以在图26中看见它。

26 使用IIS管理器

双击“管理服务委派”图标,你可以滚动主窗口的在其“管理”部分找到它(如图26)。单击“编辑功能设置”链接,并在弹出的窗口确定“允许管理绕过规则”被选中,如图27所示,单击“确定”关闭这个对话框。

27 编辑管理服务委派的功能设置

单击“返回”按钮回到服务器管理的主页面。双击“管理服务”图标,选中“启用远程连接”选项,然后再点击“启动”链接,如图28所示。

28 启用管理服务

注意:当服务器重启时管理服务不会自动启动,要想让它自动启动,在控制面板-服务里将Web Management Service的启动类型改为自动或自动(延迟启动)。

要测试Web部署功能是否能够正常工作,打开浏览器访问下面的URL

https://<服务器名>:8172/MsDeploy.axd

Web部署服务需要使用一个安全连接(这就是为什么我们要使用https而不是常规的http)在8172端口上运行。如果一切正常,你会看到一个证书警告,然后会提示你输入用户名和密码。(如果你看不到用户名和密码输入提示,很可能是防火墙阻止了8172端口。)

 

三 获取更多信息

我们会努力让本书变得很全面,但在实际工作你肯定会遇到一些问题和情况,是我们没有预见的和涉及到的

。这里有一些资源可能会对我们解决问题有所帮助:

微软开发者网络(MSDN):这上面基本包含了.NET程序设计的全部资源,当然也包括有关ASP.NETMVC框架的参考信息。而且涉及到ASP.NET的内容还非常广泛,不过在我们写这么书的时候,有关MVC框架的内容还比较少。

MVC框架源代码:我们经常发现我们时不时的会用到MVC框架源代码,它可以从http://aspnet.codeplex.com网站上得到。正如你所知道的,MVC框架建立在一系列的约定基础上,而源代码正是了解这些约定工作方式的权威参考。

ASP.NET官方网站:包含ASP.NET所有内容的主要网站就是http://www.asp.net,这里有许多非常好的教程。同时,许多由微软开发团队成员撰写的博客也值得一读,对我们解决一些常见的问题也会有所帮助。

IIS官方网站:IIS应用程序服务器包含了非常多的功能,很多是和MVC框架无关。如果你想了解更多的有关运行和配置IIS的知识,你可以在http://www.iis.net上找到丰富的信息。

JQuery官网:前面我们说过,MVC框架中使用了JQuery这个JavaScript库。如果你想直接使用JQuery,你可以在http://Jquery.comhttp://JQueryUI.com获得所有详细说明。

Stackoverflow.com网站:我们最喜欢的一个程序设计网站就是http://stackoverflow.com,它是一个关于程序设计方方面面的问答式的社区,也包含了关于MVC框架的议题。

 

四 结语

本章中,我们讲述了如何配置你的工作站,如何对你的服务器完成基本配置。在下一章,我们将演示如何创建一个简单的应用程序。在本书的最后部分,第23章,会教你如何在你的服务器上部署MVC框架应用程序。

posted on 2011-10-29 17:05  flycrosscloud  阅读(2741)  评论(12编辑  收藏  举报

导航