使用 Visual Studio 使用 SQL Server Compact 部署 ASP.NET Web 应用程序:简介 - 12 个中的 1 个
作者:Tom Dykstra
本系列教程介绍如何使用 Visual Studio 2012 RC 或 Visual Studio Express 2012 RC for Web 部署包含 SQL Server Compact 数据库的 ASP.NET Web 应用程序项目。 如果安装 Web 发布更新,也可以使用 Visual Studio 2010。
有关演示 Visual Studio 2012 RC 版本之后引入的部署功能的教程,演示如何部署 SQL Server Compact 以外的 SQL Server 版本,以及如何部署到Azure App 服务 Web 应用,请参阅使用 Visual Studio ASP.NET Web 部署。
这些教程指导你先在本地开发计算机上部署到 IIS 以进行测试,然后再部署到第三方托管提供程序。 要部署的应用程序使用应用程序数据库和 ASP.NET 成员身份数据库。 首先使用 SQL Server Compact 并部署到 SQL Server Compact,稍后的教程介绍如何部署数据库更改以及如何迁移到 SQL Server。
本教程假定你知道如何在 Visual Studio 中使用 ASP.NET。 如果没有,一个很好的开始位置是基本 ASP.NET Web 窗体教程 或 基本 ASP.NET MVC 教程。
如果存在与教程不直接相关的问题,可以将这些问题 发布到 ASP.NET 部署论坛。
概述
这些教程指导你先在本地开发计算机上部署到 IIS 以进行测试,然后再部署到第三方托管提供程序。 要部署的应用程序使用应用程序数据库和 ASP.NET 成员身份数据库。 首先使用 SQL Server Compact 并部署到 SQL Server Compact,稍后的教程介绍如何部署数据库更改以及如何迁移到 SQL Server。
教程数量 (全部为 11 个)以及故障排除页面,可能会导致部署过程看起来令人生畏。 事实上,部署站点的基本过程构成了教程集的一小部分。 但是,在实际情况下,通常需要了解部署的某些小但重要的额外方面,例如,在目标服务器上设置文件夹权限。 我们在教程中包含了其中许多其他技术,希望这些教程不会遗漏可能阻止你成功部署真实应用程序的信息。
这些教程旨在按顺序运行,每个部件在上一部分生成。 但是,可以跳过与情况无关的部分。 (跳过部分可能需要你在后面的教程中调整过程。
目标受众
这些教程旨在 ASP.NET 在小型组织或其他环境中工作的开发人员,在这些环境中:
- 不使用持续集成过程(自动生成和部署)。
- 生产环境是第三方托管提供程序。
- 一个人通常填充多个角色(同一个人开发、测试和部署)。
在企业环境中,实现持续集成过程更为典型,生产环境通常由公司自己的服务器托管。 不同的人员通常也执行不同的角色。 有关企业部署的信息,请参阅 在企业方案中部署 Web 应用程序。
各种规模的组织还可以将 Web 应用程序部署到 Azure,这些教程中显示的大多数过程也适用于Azure App 服务Web 应用。 有关 Azure 的简介,请参阅 https://azure.microsoft.com。
教程中显示的宿主提供程序
本教程将引导你完成与托管公司设置帐户并将应用程序部署到该托管提供商的过程。 选择了特定的托管公司,以便教程可以说明部署到实时网站的完整体验。 每个托管公司提供不同的功能,部署到其服务器的体验会有所不同:但是,本教程中所述的过程对于整个过程是典型的。
用于本教程的托管提供程序 Cytanium.com 是许多可用的托管提供程序之一,本教程中的用法并不构成认可或建议。
部署网站项目
Contoso University 是 Visual Studio Web 应用程序项目。 本教程中演示的大多数部署方法和工具不适用于 网站项目。 有关如何部署网站项目的信息,请参阅 ASP.NET 部署内容映射。
部署 ASP.NET MVC 项目
在本教程中,你部署 ASP.NET Web 窗体项目,但所学的一切也适用于 ASP.NET MVC。 Visual Studio MVC 项目只是 Web 应用程序项目的另一种形式。 唯一的区别在于,如果要部署到不支持 ASP.NET MVC 或目标版本的托管提供程序,则必须确保已在项目中安装了相应的 (MVC 3 或 MVC 4) NuGet 包。
编程语言
示例应用程序使用 C#,但教程不需要了解 C# ,并且教程所示的部署技术不是特定于语言的。
在本教程期间进行故障排除
如果在部署期间发生错误,或者部署的站点未正确运行,则错误消息并不总是提供解决方案。 为了帮助你解决一些常见问题方案, 提供了故障排除参考页 。 如果在完成教程时收到错误消息或某些内容不起作用,请务必检查故障排除页面。
欢迎评论
欢迎对教程进行评论,在更新本教程时,将尽一切努力考虑对教程注释中提供的改进的更正或建议。
先决条件
在开始之前,请确保已在计算机上安装了 Windows 7 或更高版本和以下产品之一:
- Visual Studio 2010 SP1
- Visual Web Developer Express 2010 SP1
- Visual Studio 2012 RC 或 Visual Studio Express 2012 RC for Web
如果你有 Visual Studio 2010 SP1 或 Visual Web Developer Express 2010 SP1,请安装以下产品:
- 用于 .NET 的 Azure SDK (VS 2010 SP1) (包括 Web 发布更新)
- Microsoft Visual Studio 2010 SP1 Tools for SQL Server Compact 4.0
若要完成本教程,需要一些其他软件,但尚未加载该软件。 本教程将引导你完成在需要时安装它的步骤。
下载示例应用程序
要部署的应用程序名为 Contoso University,并且已为你创建。 它是一个简化版本的大学网站,基于 contoso University 应用程序在 ASP.NET 网站上的 Entity Framework 教程中所述的松散版本。
安装必备组件后,请下载 Contoso University Web 应用程序。 .zip文件包含项目的多个版本,以及包含所有 12 个教程的 PDF 文件。 若要完成本教程的步骤,请从 ContosoUniversity-Begin 开始。 若要查看项目在教程结束时的外观,请打开 ContosoUniversity-End。 若要查看在教程 10 中迁移到完整 SQL Server 之前项目的外观,请打开 ContosoUniversity-AfterTutorial09。
若要准备完成教程步骤,请将 ContosoUniversity-Begin 保存到用于处理 Visual Studio 项目的任何文件夹。 默认情况下,这是以下文件夹:
C:\Users\<username>\Documents\Visual Studio 2012\Projects
(对于本教程中的屏幕截图,项目文件夹位于 :drive 的 C
根目录中。
启动 Visual Studio,打开项目,然后按 Ctrl-F5 运行它。
可从菜单栏访问网站页面,并允许你执行以下功能:
- 显示学生统计信息(“关于”页)。
- 显示、编辑、删除和添加学生。
- 显示和编辑课程。
- 显示和编辑讲师。
- 显示和编辑部门。
下面是几个代表性页面的屏幕截图。
查看影响部署的应用程序功能
应用程序的以下功能会影响部署应用程序的方式或部署它所需的操作。 本系列教程的以下教程将更详细地介绍其中每个内容。
- Contoso University 使用 SQL Server Compact 数据库来存储应用程序数据,例如学生名称和讲师名称。 数据库包含测试数据和生产数据的组合,在部署到生产环境时,需要排除测试数据。 在本教程系列教程的后面部分,你将从 SQL Server Compact 迁移到 SQL Server。
- 应用程序使用 ASP.NET 成员身份系统,该系统将用户帐户信息存储在 SQL Server Compact 数据库中。 应用程序定义有权访问某些受限信息的管理员用户。 你需要在不测试帐户的情况下部署成员身份数据库,但需要部署一个管理员帐户。
- 由于应用程序数据库和成员身份数据库使用 SQL Server Compact 作为数据库引擎,因此你必须将数据库引擎部署到宿主提供程序以及数据库本身。
- 应用程序使用 ASP.NET 通用成员身份提供程序,以便成员身份系统可以在 SQL Server Compact 数据库中存储其数据。 包含通用成员资格提供程序的程序集必须随应用程序一起部署。
- 应用程序使用 Entity Framework 5.0 访问应用程序数据库中的数据。 包含 Entity Framework 5.0 的程序集必须与应用程序一起部署。
- 应用程序使用第三方错误日志记录和报告实用工具。 此实用工具在必须随应用程序一起部署的程序集中提供。
- 错误日志记录实用工具将 XML 文件中的错误信息写入文件文件夹。 必须确保 ASP.NET 在部署站点中运行的帐户具有对此文件夹的写入权限,并且必须从部署中排除此文件夹。 (否则,可能会将测试环境中的错误日志数据部署到生产环境,并且/或可能会删除生产错误日志文件。
- 应用程序包括必须根据目标环境(测试或生产)在部署 的 Web.config 文件中更改的某些设置,以及必须根据生成配置(调试或发布)更改的其他设置。
- Visual Studio 解决方案包括类库项目。 仅应部署此项目生成的程序集,而不是项目本身。
在本系列的第一个教程中,你已下载示例 Visual Studio 项目并查看了影响应用程序部署方式的网站功能。 在以下教程中,通过设置要自动处理的其中一些内容来准备部署。 你手动照顾的其他人。