ASP.NET 托管选项 (VB)

作者 :Scott Mitchell

下载 PDF

ASP.NET Web 应用程序通常是在本地开发环境中设计、创建和测试的,并需要在准备好发布后部署到生产环境。 本教程提供部署过程的高级概述,并作为本教程系列的简介。

简介

Web 应用程序通常在开发环境中进行设计、创建和测试,而开发环境仅供在站点上工作的程序员访问。 应用程序准备好发布后,会移动到生产环境,在该环境中,Internet 上的任何人都可以访问站点。 此部署过程带来了许多挑战:

  • 生产环境必须存在并正确设置,然后才能部署 ASP.NET 应用程序;此外,生产环境必须与最新的安全修补程序保持同步。
  • 必须将正确的标记文件、代码文件和支持文件集从开发环境复制到生产环境。 对于数据驱动的应用程序,这可能需要复制数据库架构和/或数据。
  • 这两个环境之间可能存在配置差异。 开发环境中使用的数据库连接字符串或电子邮件服务器可能与生产环境不同。 更重要的是,应用程序的行为可能取决于环境。 例如,当开发中发生错误时,错误的详细信息可以在屏幕上显示,但当生产中发生错误时,应改为显示用户友好的错误页,并将错误详细信息通过电子邮件发送给开发人员。

为了避免第一个挑战-设置和维护生产环境,许多个人和企业将其生产环境外包给 Web 托管提供商。 Web 托管提供商是一家代表你管理生产环境的公司。 有无数的 Web 主机提供商,每个提供商都有不同的价格和服务级别:有关查找此类服务提供商的提示,请参阅“查找 Web 主机提供程序”部分。

这是一系列教程中的第一个教程,这些教程介绍了将 ASP.NET Web 应用程序部署到由 Web 主机提供程序管理的生产环境所涉及的步骤。 在这些教程中,我们将检查:

  • 需要将哪些文件部署到 Web 主机提供程序。
  • 用于简化部署过程的工具。
  • 如何部署数据库。
  • 有关部署使用 基于 SQL 的成员资格和角色提供程序的数据库的提示,以及在生产环境中模拟网站管理工具的方法。
  • 使用开发期间所做的更改在生产环境中顺利更新数据库的策略。
  • 用于记录生产中发生的错误的技术和在发生错误时通知开发人员的方法。

这些教程旨在简洁明了,并提供包含大量屏幕截图的分步说明,以直观地引导你完成该过程。 本就职教程概述了 ASP.NET 部署过程,并提供了有关查找 Web 托管提供商的建议。 让我们开始吧!

ASP.NET 部署过程概述

简而言之,部署 ASP.NET 应用程序涉及以下三个步骤:

  1. 在生产环境中配置 Web 应用程序、Web 服务器和数据库。
  2. 同步 ASP.NET 页、代码文件、文件夹中的程序集 Bin ,以及与 HTML 相关的支持文件(如 CSS 和 JavaScript 文件)。
  3. 同步数据库架构和/或数据。

Web 应用程序的配置信息通常位于 Web.config 文件中,包括数据库连接字符串、错误处理条件、URL 重写规则和电子邮件服务器信息。 通常,对于开发中的应用程序,此信息与生产中的同一应用程序不同。 例如,开发应用程序时,最好使用开发数据库,这样就不会针对生产数据库进行测试。 因此,数据库连接字符串通常在开发和生产应用程序之间有所不同。 由于这些差异,部署的一部分涉及对 Web 应用程序的配置信息进行更改。

除了 Web 应用程序配置更改外,步骤 1 还可能需要对 Web 服务器和数据库进行配置。 例如,如果 ASP.NET 页在 Web 服务器上的目录中创建或删除文件,则需要将 Web 服务器配置为允许这些文件系统修改。 同样,可能需要对数据库进行权限或身份验证设置。

步骤 2 涉及在开发和生产环境之间同步一组基本 ASP.NET 页和支持文件。 需要在两个环境之间同步的特定 ASP.NET 相关文件集取决于在 Visual Studio 中创建的项目类型,这是下一教程确定 需要部署哪些文件的讨论。 第三个和第四个教程 - 使用 FTP 部署站点和使用 Visual Studio 部署站点 - 检查用于同步这些文件的不同工具和技术。

生成数据驱动的应用程序时,通常使用两个数据库:一个用于开发,另一个用于生产。 在开发过程中,可以修改开发数据库的架构以包含新表、列、存储过程和触发器,也可以修改以删除或重命名现有数据库对象。 在进行这些更改和将应用程序部署到生产环境之间,开发和生产数据库不同步。需要在部署过程中修复此异步。 这些挑战将在以后的教程中介绍。

查找 Web 主机提供程序

ASP.NET 应用程序可以部署到安装了 .NET Framework 和 Internet Information Services (IIS) 的任何 Web 服务器。 你可以从个人计算机托管站点,前提是你已与 Internet 建立宽带连接,并且知道如何配置路由器以允许传入的 Web 请求。 还可以像许多公司一样,从 Intranet 中的计算机托管站点。 但是,这些教程的重点是使用 Web 主机提供程序托管网站。

注意

IIS 是 Microsoft 的企业级 Web 服务器。 它随非家庭版 Windows(如 Windows Server 2008 和某些版本的 Windows Vista)一起提供。 无需安装 IIS 来为开发环境中的 ASP.NET 应用程序提供服务,因为 Visual Studio 包含 ASP.NET Development Web Server。 但是,ASP.NET 开发 Web 服务器仅接受本地连接,因此不能在生产环境中使用。

在将站点部署到 Web 主机提供商之前,必须先确定与哪个公司开展业务。 市场上有无数的 Web 托管公司;搜索“Web 托管公司”会返回超过 500 万个结果。 如何找到适合你的那个? 你最喜欢的搜索引擎是一个很好的起点,就像 TopHostsHostCritique 等网站一样,它们比较和对比各种托管服务。 我还建议向同事和同事提出任何建议:你也可以在 ASP.NET 论坛的主办开放论坛上寻求建议。

Web 托管公司通常提供共享托管计划和专用托管计划。 使用共享托管,单个 Web 服务器托管数十个(如果不是数百个)不同的网站。 使用专用托管,你可以从公司租用一台计算机,该计算机单独为您的网站和站点提供服务。 共享托管计划可能包括支持 ASP.NET 页、能够使用 Microsoft Access 数据库、5 GB 磁盘空间和每月 100 GB 带宽流量(每月 9.95 美元)。 另一个共享托管计划可能包括支持 ASP.NET 页、访问 Microsoft SQL Server 2008 数据库服务器、10 GB 磁盘空间和每月 250 GB 带宽流量(每月 19.95 美元)。 专用托管计划通常更昂贵,每月花费数百美元,但与共享托管选项相比,其性能更好,控制力更大。 你选择的计划取决于你的预算、你的网站接收的流量,以及你预计你需要的功能。

选择 Web 主机提供商时的两个重要注意事项是客户服务和服务质量。 如果你有问题或配置问题,将问题提交到 Web 主机的支持人员需要多长时间才能得到响应? 公司的服务有多可靠? 它们是否经常发生数据库中断? 他们的电子邮件服务器多久脱机一次? 你始终可以要求公司提供有关其运行时间的详细信息并询问其客户服务策略,但更可靠的方法是征求当前和过去客户的反馈,这可以通过在线论坛、新闻组和电子邮件列表服务器完成。

注意

一些 Web 托管公司将其业务集中在特定的技术堆栈上,例如 .NET 或 LAMP (L inux、 A pache、 M ySQL 和 P HP) ,因此请确保所选公司主机 ASP.NET 应用程序。 此外,检查确保它们支持用于生成应用程序的 ASP.NET 版本。 如果要构建数据驱动应用程序,请确保 Web 主机提供的数据库服务器和版本与使用的数据库服务器和版本相同。

摘要

ASP.NET Web 应用程序通常是在本地开发环境中设计、创建和测试的。 版本准备好发布后,会将其移动到生产环境。 虽然可以在个人计算机或公司内的服务器上托管 ASP.NET 网站,但许多企业和个人选择将其托管外包给 Web 主机提供商。

本教程系列介绍将 ASP.NET 应用程序部署到 Web 主机提供程序的步骤,探讨常见的难题。 本教程简要概述了 ASP.NET 部署过程,并提供了查找合适的 Web 主机提供程序的提示。 下一教程介绍在部署网站时需要将哪些 ASP.NET 相关文件复制到生产环境。

编程愉快!

特别感谢...

本教程系列由许多有用的审阅者查看。 本教程的首席审阅者是 Teresa Murphy。 有兴趣查看我即将发布的 MSDN 文章? 如果是,请在 处放置一行 mitchell@4GuysFromRolla.com