ASP.NET 网页简介 - 使用 WebMatrix 发布网站

作者 Tom FitzMacken

本教程是介绍 ASP.NET 网页 和 Microsoft WebMatrix 的教程集中的最后一部分。 本文讨论了如何将网站发布到 Internet,以便其他人可以使用它。 它假定你已完成通过为 ASP.NET 网页网站创建一致外观系列。

你将了解如何使用以下内容发布网站:

  • Microsoft Azure
  • Web 托管公司

关于发布网站

到目前为止,你已在本地计算机上完成了所有工作,包括测试页面。 为了运行 your.cshtml 页面,你使用了 WebMatrix 中内置的 Web 服务器,即 IIS Express。 当然,除了你之外,没有人能看到你创建的网站。 若要让其他人使用您的网站,你必须将其发布到 Internet。

除非你已经有权访问公共 Web 服务器,否则发布意味着你必须拥有 云平台托管提供商的帐户。 云平台(如 Microsoft Azure)为应用程序提供按需基础结构。 托管提供商是拥有可公开访问的 Web 服务器的公司,它将为您的网站租用空间。 托管计划从每月几美元 (甚至小型网站的免费) ,到大容量商业网站的每月数百美元。

注意

你可以通过 Internet 服务提供商 (ISP) 访问公共 Web 服务器,用于在家中获取 Internet 服务。 但是,托管提供商必须支持 ASP.NET 网页。 许多 ISP 不,但它总是值得检查。

在本教程中,我们将概述如何发布。 提供所有内容的确切详细信息是不切实际的,因为每个托管提供商的过程略有不同。 但你会很好地了解该过程的工作原理。

本教程包含四个部分:

  1. 设置默认页面
  2. 发布 (选择以下)
    a. 将站点发布到 Microsoft Azure
    b. 将网站发布到 Web 托管公司
  3. 更新实时网站:重新发布

设置默认页面

当用户导航到网站的基址时,网站的默认页面会显示给用户。 例如,当 Default.htm 设置为 站点 www.contoso.com的默认页面时,导航到 www.contoso.com 与导航到 www.contoso.com/Default.htm相同。

目前,您的网站使用 Default.cshtml 作为默认页面。 此页面适用于默认页面,但在本教程中,你尚未向该页面添加任何内容,因此它将显示一个空白页面。 打开 Default.cshtml,并将内容替换为以下代码。

@{
    Layout = "~/_Layout.cshtml";
    Page.Title = "Welcome to Movie site";   
}

<p><a href="~/Movies">Go to movie listing</a></p>

现在,您的网站已准备好发布。 首先,你将了解如何将站点部署到 Azure,以及如何将其部署到 Web 托管公司。 任一选项都适用于网站,只需遵循其中一个部署选项。

将站点发布到 Microsoft Azure

本教程首先介绍如何将站点部署到 Microsoft Azure。 使用 Microsoft 帐户登录,可以在 Azure 上创建最多 10 个免费站点。 这些免费网站提供了一种测试站点的便捷方法。 以后始终可以删除此示例网站,以避免使用所有免费网站。 只需几分钟即可创建一个免费试用帐户。 有关详细信息,请参阅 Azure 免费试用

在 WebMatrix 功能区中,单击“ 发布 ”按钮。

Web 矩阵功能区的屏幕截图,其中突出显示了“发布”按钮,“运行”按钮旁边有一个红色矩形。

将显示“ 发布站点 ”对话框。 如果尚未登录到 Microsoft 帐户,该对话框将包含 Azure 入门 链接。 单击此链接。

“发布网站”对话框的屏幕截图,其中显示了“Windows Azure 入门”选项,其中突出显示了红色矩形。

如果你尚未登录到 Microsoft 帐户,则再次有机会登录。 必须登录到 Microsoft 帐户才能在 Azure 上发布站点。

Microsoft Windows Azure 登录对话框的屏幕截图,其中显示了 Microsoft 帐户和组织帐户登录。

登录到 Microsoft 帐户后,对话框包含用于在 Azure 上创建新站点或连接到 Azure 上的某个现有站点的链接。

“发布网站”对话框的屏幕截图,其中突出显示了“创建新网站”选项,并带有红色矩形。

选择“ 创建新网站”。

如果将项目命名为 WebPagesMovies,则网站的默认名称将 webpagesmovies.azurewebsites.net。 此默认名称很可能不可用,如红色感叹号所示。

“在 Windows Azure 上创建站点”窗口的屏幕截图,其中显示默认名称不可用,如红色感叹号所示。

将站点名称更改为可用名称,并选择靠近你的位置的位置。

“在 Windows Azure 上创建站点”窗口的屏幕截图,其中显示了“站点名称”字段中已更改的站点名称。

单击" 确定"。

WebMatrix 执行测试以确定服务器是否与站点兼容。

Web 矩阵窗口的屏幕截图,其中显示了一条消息,指示用户选择“继续”按钮后,服务器测试将启动。

选择“继续”。

将显示兼容性测试结果。

“Web 矩阵”窗口的屏幕截图,其中显示了兼容性测试结果以及绿色复选标记图标指示的成功项。

选择“继续”。

WebMatrix 显示将发布到站点的文件和数据库。 由于这是你第一次发布网站,因此会列出所有文件。 可以取消选中尚未准备好发布的文件。 在后续发布中,仅显示已更改的文件。 请参阅 更新实时网站:重新发布

“发布预览”窗口的屏幕截图,其中显示了列表中的所有文件和数据库,其中包含对应于每个项的复选框。

选择“继续”。

将站点部署到 Azure 后,将显示一条消息,指示部署已完成。

发布完成消息的屏幕截图,指示网站部署成功。

站点和数据库已发布到 Azure,现在可供公众使用。 单击消息中指示发布已完成的链接,现在会看到已部署的站点。 你或具有 Internet 访问权限的任何人都可以在数据库中添加或修改记录。

已部署网站的屏幕截图,其中显示了地址栏中的 U R L,其中突出显示了一个红色矩形。

将网站发布到 Web 托管公司

如果决定不发布到 Azure,可以改为将站点发布到 Web 托管公司。

单击“ 查找 Web 托管” 链接。

“发布网站”对话框的屏幕截图,其中突出显示了“查找 Windows Web 托管”链接,并带有红色矩形。

转到 Microsoft 网站上的一个页面,其中列出了支持 ASP.NET 的托管提供商。

Microsoft 查找 Web 托管页的屏幕截图,其中显示了支持 A S P dot Net 的托管提供程序的列表。

显然,现在可能很难确切知道长期可能需要哪些托管功能。 需要考虑以下几点:

  • 对于 WebPagesMovies 网站,您不必为SQL Server创建单独的加载项,这通常会产生额外的费用。 在站点中,你使用的是独立SQL Server Compact版。 但是,你可能需要SQL Server访问权限才能完成一些将来的网站工作。 如果认为可以,请确保以后可以添加SQL Server功能。
  • 检查托管提供程序是否支持 Web 部署发布协议。 可以使用 FTP 协议进行发布,但使用 Web 部署更方便。

某些网站提供免费试用期。 免费试用是尝试 WebMatrix 和 ASP.NET 网页时尝试发布和托管的好方法。

选择一个你喜欢的。 在本教程中,我们选择了 DiscountASP.NET,因为在创建本教程时,该公司进行了一次促销,让人们可以免费托管网站几个月。

注意

对于本教程,我们选择的托管提供商不应被解释为该公司对任何其他公司的认可。 但是,我们必须选择一个进行演示,DiscountASP.NET 是支持 ASP.NET 网页和 Web 部署协议进行发布的众多公司之一。

通常,在与托管提供商注册后,公司会向你发送一封电子邮件,其中包含用户名和密码、Web 服务器的 URL 等。 如果托管公司支持 Web 部署协议,他们可能会向你发送一个包含发布设置的文件,或者让你下载一个。 发布设置文件可简化此过程。

注册并准备好发布后,单击 WebMatrix 功能区中的“ 发布 ”按钮。 将显示 “发布设置” 对话框。

如果托管提供程序向你发送了发布设置文件,请单击“ 导入发布设置” 链接并导入该文件。 如果没有发布设置文件,请使用托管公司通过电子邮件发送给你的值填写字段。 下面是完成后 “发布设置” 对话框的外观:

“发布设置”对话框的屏幕截图,其中显示了填充到文本字段中的托管公司详细信息。

单击“ 验证连接”。 如果一切正常,对话框将报告 “连接成功”,这意味着它可以与托管提供程序的服务器通信。

“验证连接”按钮的屏幕截图,其中带有绿色复选标记图标,指示连接已成功。

如果出现问题,WebMatrix 会尽力告诉你问题出在哪里:

“验证连接”按钮的屏幕截图,其中显示了一个黄色警告图标,其中包含与错误对应的错误消息。

单击“保存”以保存设置。 WebMatrix 提供用于执行测试以确保它可以与托管站点正确通信:

“发布兼容性”对话框的屏幕截图,其中显示了一条消息,说明站点兼容性测试提示选择“是”按钮继续。

单击 “是” 。 WebMatrix 将一些示例文件上传到托管提供程序。 完成兼容性测试后,WebMatrix 将报告结果:

发布兼容性测试的屏幕截图,其中显示了测试结果以及绿色复选标记图标指示的成功项。

如果已准备就绪,请继续并单击“ 继续 ”以实际启动发布过程。 WebMatrix 找出站点中有哪些文件,并且当前已在主机服务器上 (,没有文件) ,并提供了发布过程的预览:

“发布预览”窗口的屏幕截图,其中显示了准备发布到网站的网站文件和网站的预览。

要发布的文件列表包括你创建的网页(如 Movies.cshtml)。 该列表还包括已安装的帮助程序文件、要为数据库运行 SQL Server Compact Edition 的文件等。 因此,初始发布过程可能很大。

单击“继续” 。 WebMatrix 将文件复制到托管提供程序的服务器。 完成后,结果将报告在状态栏中:

状态栏的屏幕截图,显示发布过程成功完成时突出显示的黄色消息。

若要查看实时网站,请单击状态栏中的链接。 将 Movies 添加到 URL,你将看到创建的 Movies.cshtml 文件:

显示通过更改地址栏中红色突出显示的 U R L 来显示已更改的 Movies dot c s h t m l 文件的实时站点的屏幕截图。

更新实时网站:重新发布

将站点 (发布到 Azure 或 Web 托管公司) 后,有两个副本 - 计算机上的版本和服务提供商上的版本。 在下一个教程集) 中,你可能想要继续开发网站 ((如果没有其他内容)。 执行此操作时,必须重新发布站点,以便将更改从计算机复制到服务提供商。 WebMatrix 中的发布过程可以确定站点上已更改的文件,并仅发布这些文件。

若要查看重新发布的工作原理,请打开 Movies.cshtml 网站,进行一些小更改,然后保存文件。 例如,将标题更改为 Movies - Updated

单击功能区中的 “发布 ”按钮。 WebMatrix 确定更改的内容,并向你显示它将发布的文件的预览。

“发布预览”对话框的屏幕截图,其中显示了已更改的文件列表中的更新文件,以及有关覆盖远程数据库的消息。

重要

默认情况下,WebMatrix 仅在首次发布站点时) (.sdf 文件发布数据库。 发布网站且用户与网站交互后,实时网站上的数据库通常具有网站的真实数据。 必须非常小心,不要使用计算机上的 .sdf 文件覆盖实时数据库,该文件通常只包含测试数据。 这就是你看到警告“发布将覆盖所有远程数据库”的原因,以及默认情况下清除 WebPagesMovies.sdf 的“检查”框的原因。

单击“继续” 。 WebMatrix 发布更改的文件并向你显示一条成功消息,就像你第一次发布时一样。

转到实时网站 (单击成功消息中的链接(如果它仍然显示) ,并验证更改是否已发布。

提示

远程编辑文件

作为更改站点然后重新发布的替代方法,可以直接在 WebMatrix 中编辑远程文件。 在此方案中,打开服务提供程序上的文件,WebMatrix 会下载该文件的副本以供编辑。 每次保存文件时,WebMatrix 都会将更改发送到站点。

远程编辑是一种对实时网站进行更改的简单方法。 但是,以这种方式进行的更改不会与本地站点中的文件同步。 若要将本地文件与远程站点同步,可以下载远程文件。 此过程与发布非常类似,但相反。

我们不会在此处详细介绍 WebMatrix 的远程编辑和远程下载功能。 如果多个用户必须在不同的计算机上在同一站点上工作,它们非常有用。 有关详细信息,请参阅 使用 WebMatrix 2 Beta 发布和编辑远程站点

其他资源