概述:使用 Visual Studio 开发适用于 Azure 的 ASP.NET Web 应用

ASP.NET Core 为简单网站和复杂的 Web 应用程序提供了全面的解决方案。 Azure 服务可以帮助解决许多需求,并解决网站和 Web 应用程序开发中出现的许多挑战。 ASP.NET Core Web 应用程序经常使用客户端 JavaScript。

许多 Visual Studio 订阅包括 Azure 个人开发/测试额度。 如果你是 Visual Studio 订阅者,可以使用这些额度来试用各种 Azure 服务,不收费。 如果你不是订阅者,并且没有 Azure 订阅,则可以 创建一个免费帐户

先决条件

如果还没有,请阅读 Visual Studio 中的 Azure 开发 概述,其中介绍了 Visual Studio 中连接的服务的基础知识、部署到 Azure、调试 Azure 应用程序、使用 Docker 容器等。

您需要安装 2019 或更高版本,并安装Azure 开发ASP.NET 和 Web 开发工作负载。

体系结构图

下图显示了 Azure Web 应用程序的体系结构示例,其中一些 Azure 服务处理常见方案,例如存储、访问 SQL 数据库和身份验证。

Web 应用程序示例体系结构示意图。

连接到存储和数据库

许多服务并非特定于 Web 应用程序,但对大多数 Web 应用程序很重要,已在主要概述中介绍。 请参阅 将应用连接到 Azure 存储和数据库,并将 应用连接到 gRPC、OpenAPI 和 WCF 终结点

连接到 Azure Redis 缓存

Azure Cache for Redis 为 Azure 服务、网站和 Web 应用程序提供内存中数据存储。 可以将 Azure Redis 缓存用作分布式数据或内容缓存、会话存储、消息中转站等。 支持的方案包括:

  • 缓存来自 API 的数据(从而减少 API 调用)
  • 缓存输出(这可以减少 CPU 使用率)
  • 缓存会话状态

有关详细信息,请查看 什么是 Azure Redis 缓存? 或者 开始使用 Visual Studio 连接服务连接到 Azure Redis 缓存

对用户进行身份验证

大多数网站都需要某种用户管理和身份验证机制,无论是特定于站点的,还是由用户具有现有帐户的标识提供者提供。 Azure 应用服务支持内置用户身份验证。 在 Azure 应用服务和 Azure Functions 中的身份验证和授权中 了解详细信息,并开始使用 在 Azure 应用服务上运行的 Web 应用添加应用身份验证。 Microsoft Entra ID(以前称为 Azure Active Directory)是一项功能齐全的基于云的标识管理服务。 在 What is Microsoft Entra 中了解详细信息。

支持的身份验证提供程序包括:

  • 社交帐户:Facebook、Google、Microsoft 帐户和其他帐户
  • Microsoft Entra 账户(来自单一租户)
  • Microsoft Entra 帐户(来自多个不同的租户)

了解如何在应用中开始使用这些服务,请访问在 Visual Studio 中使用已连接的服务连接到 Microsoft Entra ID

应用程序配置

部署到 Azure 的 ASP.NET Web 应用可能需要为所有环境(测试、用户验收测试(UAT)、预生产和生产)配置。 可以通过 Azure 应用配置管理此配置。 了解如何在 使用 Visual Studio 连接服务连接到 Azure 应用配置时连接应用到 Azure 应用配置。

机密管理

安全存储密码和其他机密(例如对 API 提供程序的数据库和令牌的访问密钥)是 Azure Key Vault 提供安全解决方案的常见问题。 可以使用 Azure Key Vault 存储 Azure 中运行的应用的机密,也可以在开发期间使用 Azure 中的密钥保管库,也可以使用本地存储(secrets.json)进行本地执行、测试和调试。 在设计和开发过程中开始,不依赖于云,但随后会过渡到测试和生产的后续阶段,而不会造成中断。 在 Azure Key Vault 中了解详细信息,并 开始使用 Visual Studio 连接服务将 Key Vault 连接到 Web 应用程序

使用 Entity Framework 进行数据迁移

Visual Studio 可帮助解决开发应用和在本地更改数据库,然后在 Azure 中与生产数据库同步的问题。

如果使用 Azure SQL 数据库和 Entity Framework ASP.NET Web 应用,则对数据库进行本地更改时,可以使用 Entity Framework 迁移以结构化方式将这些架构更改和数据更改推送到 Azure。 请参阅 Entity Framework 迁移

工作者服务

ASP.NET Web 应用可以从运行工作服务中受益。 在现有应用服务实例上运行辅助角色服务无需额外付费,并且可以直接替代在本地或虚拟机中运行的 Windows 服务。 请参阅 .NET 中的工作服务

后续步骤

了解更多你可能感兴趣的 Azure 服务

Azure 体系结构中心获得 Azure 开发的架构建议。

浏览 ASP.NET 文档