1. 概览
ASP.NET 是一款开源 Web 框架,可用于使用 .NET 构建现代 Web 应用和服务。ASP.NET 基于 HTML5、CSS 和 JavaScript 创建网站,这些网站简单、快速,并且可以扩展到数百万用户。
在此实验中,您将一个简单的 ASP.NET 应用部署到在 Compute Engine 上运行的 Windows Server。此 Codelab 基于将使用 ASP.NET 框架的 Windows Server 部署到 Compute Engine Codelab。建议您先完成该实验。
此外,您还需要 Visual Studio 2013 或更高版本来编写 ASP.NET 应用并将其部署到 Compute Engine。
学习内容
- 如何创建简单的 ASP.NET 应用。
- 如何在 Visual Studio 中在本地运行 ASP.NET 应用。
- 如何将 ASP.NET 应用部署到 Compute Engine 上的 Windows Server 并运行。
所需条件
- 一个浏览器,例如 Chrome 或 Firefox。
- 已安装 Visual Studio 2013 或更高版本。
- 熟悉 .NET Framework 和 C# 语言。
- 在 Compute Engine 上运行的 Windows Server(使用 ASP.NET 框架),以及 将使用 ASP.NET 框架的 Windows Server 部署到 Compute Engine Codelab 中的 Windows 用户名和密码。
您打算如何使用本教程?
您如何评价自己在 Google Cloud Platform 方面的经验水平?
2. 设置和要求
自定进度的环境设置
您应该已在之前的实验中创建了 Google Cloud Platform 项目,因此无需创建新项目。登录 Google Cloud Platform Console ( console.cloud.google.com),然后选择上一个实验中的项目。
3. 下载 ASP.NET 应用
下载该示例的 zip 文件并将其解压缩。
或者,您也可以克隆其 Git 代码库。
git clone https://github.com/GoogleCloudPlatform/getting-started-dotnet.git
无论采用哪种方式,您都应该有一个包含以下内容的 getting-started-dotnet 文件夹。

4. 在本地运行应用
双击 aspnet\1-hello-world\hello-world.sln。这会在 Visual Studio 中打开解决方案。

请查看 WebApiConfig.cs.。它包含一个简单的 HelloWorld HTTP 处理程序。
public class HelloWorldHandler : HttpMessageHandler
{
protected override Task<HttpResponseMessage> SendAsync(
HttpRequestMessage request,
CancellationToken cancellationToken)
{
return Task.FromResult(new HttpResponseMessage()
{
Content = new ByteArrayContent(Encoding.UTF8.GetBytes("Hello World."))
});
}
};
在 Visual Studio 中,按 F5 构建并运行应用。在 Visual Studio 下载 NuGet 依赖项并构建应用后,您应该会在浏览器中看到“Hello World”消息弹出。

确定应用正在本地运行后,按 Shift + F5 停止应用。
5. 部署使用 ASP.NET 框架的 Windows Server
在本部分中,我们将学习如何使用 Google Cloud 控制台中的 Cloud Marketplace 创建一个安装了 Windows Server 和 ASP.NET Framework 的新 Google Compute Engine 虚拟机实例。
登录 Google Cloud 控制台
在另一个浏览器标签页或窗口中前往 Google Cloud 控制台 (https://console.cloud.google.com)。使用您在注册 Google Cloud Platform 时设置的登录凭据,或实验监考人员提供给您的登录凭据。

前往 Cloud Marketplace
在 Google Cloud 控制台中,点击屏幕左上角的“产品和服务”菜单图标 :

然后前往 Cloud Marketplace

搜索 ASP.NET Framework
输入 ASP.NET 以搜索 ASP.NET Framework,然后点击下方的结果框。

在 Compute Engine 上启动
在下一个界面中,点击在 Compute Engine 上启动。
创建新实例时,您可以配置多种参数。我们来使用以下内容:
名称 |
|
部署名称 |
|
可用区 |
|
机器类型 |
|
Windows Server 操作系统版本 |
|
启动磁盘类型 |
|
磁盘大小(以 GB 为单位) | 100 我们使用的是默认值 100 GB,但您可以根据需要将其调整为更大或更小的值。 |
防火墙 |
|
点击部署以创建搭载 Windows Server 和 ASP.NET 框架的新虚拟机实例!系统会将您转到一个新页面,您可以在其中查看进度。

完成后,在左侧菜单中前往 Compute Engine,然后选择虚拟机实例。您应该会在虚拟机实例列表中看到新的虚拟机。

如果您点击外部 IP,还应看到从实例提供的默认 IIS 网站。

请注意,您也可以通过远程桌面协议 (RDP) 连接到该机器,但需要先创建 Windows 用户名和密码。
6. 创建 Windows 用户和密码
如需创建 Windows 用户和密码,请选择创建或重置 Windows 密码。

系统会打开一个新窗口,您可以在其中创建用户。保留默认设置,然后选择设置。几秒钟后,您应该会看到一个新 Windows 密码对话框,其中包含新创建的密码。记下该密码,因为您将在下一部分中用到它。
7. 将应用部署到 Compute Engine 上的 Windows Server
现在,您可以将应用部署到在 Compute Engine 实例上运行的 Windows Server 了。
首先,您需要找到在将使用 ASP.NET 框架的 Windows Server 部署到 Compute Engine 中部署的 Compute Engine 实例的外部 IP。在 Cloud 控制台中,依次前往“Compute”>“虚拟机实例”,找到您的实例并记下其外部 IP 地址。

现在,您需要使用在上一步中创建的 Windows 用户名和密码。
在 Visual Studio 的解决方案资源管理器中,右键点击您的项目,然后在上下文菜单中选择发布。

在发布 Web 对话框中,选择自定义作为发布目标。
在新建自定义配置文件对话框中,为部署配置文件提供一个名称,然后点击“确定”。
请按以下方式填写您的个人资料。
设备 |
|
网站名称 |
|
用户名 |
|
密码 |
|
目标网址 |
|
点击验证连接,确保属性正确无误。

由于部署中的 Microsoft IIS 安装默认使用自签名证书,因此您会在验证过程中看到证书错误。勾选将此证书保存到 Visual Studio 的未来会话复选框,然后点击接受以接受证书。

如果配置有效,请点击设置。点击文件发布选项,然后勾选移除目标位置的其他文件。当您将新网站发布到同一 Compute Engine 实例时,此步骤对于后续步骤非常重要。

点击发布以部署应用。发布完成后,Visual Studio 将在您的默认网络浏览器中打开该应用。

8. 清理
大功告成!现在,该清理您使用的资源了(以节省成本,践行良好的云资源管理实践)。
您可以删除实例,也可以只是停止实例,但请注意,已停止的实例仍可能会产生与存储相关的费用。

当然,您也可以删除整个项目,但这样会丢失您所做的所有结算设置(必须先停用项目结算)。此外,删除项目只会停止在当前结算周期结束后对其进行结算。
9. 恭喜!
Google Compute Engine 是 Google Cloud Platform 基础架构即服务的基础。如您所见,将 ASP.NET 应用部署到 Compute Engine 上的 Windows Server 非常简单。
所学内容
- 如何创建简单的 ASP.NET 应用。
- 如何在 Visual Studio 中在本地运行 ASP.NET 应用。
- 如何将 ASP.NET 应用部署到 Compute Engine 上的 Windows Server 并运行。
后续步骤
- 详细了解 Google Cloud Platform 上的 Windows。
- 详细了解 Google Cloud Platform 上的 .NET。
- 详细了解 Google Cloud Platform 上的 SQL Server。
- 详细了解 Cloud Tools for Visual Studio。
- 详细了解 Cloud Tools for PowerShell。
许可
此作品已获得 Creative Commons Attribution 2.0 通用许可授权。
/