在 Visual Studio 中配置 Azure 项目以使用多个服务配置

备注

本文适用于 Azure Azure 云服务(扩展支持)。 云服务(经典版)自 2024 年 8 月 31 日起停用。 有关详细信息,请参阅 云服务(经典)部署模型将于 2024 年 8 月 31 日停用。 对于新开发,我们建议使用专为特定目的设计的较新服务类型,例如 Azure 应用服务Azure FunctionsAzure 容器应用。 有关可用服务的最新列表,请参阅 Azure 产品 目录

Visual Studio 中的 Azure 云服务(扩展支持)项目包括三个配置文件:ServiceDefinition.csdefServiceConfiguration.Local.cscfgServiceConfiguration.Cloud.cscfg

  • ServiceDefinition.csdef 部署到 Azure,描述云服务及其角色的要求,并提供适用于所有实例的设置。 可以使用 Azure 服务托管运行时 API 在运行时读取设置。 仅当云服务停止时,才能在 Azure 上更新此文件。
  • ServiceConfiguration.Local.cscfgServiceConfiguration.Cloud.cscfg 为定义文件中的设置提供值,并指定要为每个角色运行的实例数。 “Local”文件包含本地调试中使用的值;“云”文件作为 ServiceConfiguration.cscfg 部署到 Azure,并为服务器环境提供设置。 在 Azure 中运行云服务时,可以更新此文件。

配置设置在 Visual Studio 中使用适用角色的属性页进行管理和修改(右键单击角色并选择 属性,或双击角色)。 更改的范围可以限定为 服务配置 下拉列表中选择的配置。 除了以下各节所描述的内容以外,Web 角色和辅助角色的属性是很相似的。

VS_Solution_Explorer_Roles_Properties

有关服务定义和服务配置文件的基础架构的信息,请参阅 .csdef XML 架构.cscfg XML 架构 文章。 有关服务配置的详细信息,请参阅 如何配置云服务

配置页

服务配置

选择哪些 ServiceConfiguration.*.cscfg 文件受更改影响。 默认情况下,有本地和云变体,可以使用 Manage... 命令复制、重命名和删除配置文件。 这些文件将添加到云服务项目中,并显示在解决方案资源管理器 中。 但是,只能从此控件中重命名或删除配置。

实例

实例 count 属性设置为服务为此角色运行的实例数。

启动操作(仅适用于 Web 角色)

设置此属性可指定 Visual Studio 应在开始调试时为 HTTP 终结点或 HTTPS 终结点启动 Web 浏览器,或同时启动 Web 浏览器。

仅当已为角色定义 HTTPS 终结点时,HTTPS 终结点 选项才可用。 可以在 终结点 属性页上定义 HTTPS 终结点。

如果您已经添加了 HTTPS 终结点,那么 HTTPS 终结点选项会默认启用。当您开始调试时,Visual Studio 将启动一个用于此 HTTPS 终结点的浏览器,并假设这两个启动选项都已启用,还会启动一个用于 HTTP 终结点的浏览器。

设置页

在“设置”页上,可以将设置以名称/值对形式添加到配置中。 角色中运行的代码可以使用 Azure 托管库提供的类来读取运行时配置设置的值,具体而言,GetConfigurationSettingValue 方法。

为存储帐户配置连接字符串

连接字符串是一个设置,它为存储模拟器或 Azure 存储帐户提供连接和身份验证信息。 每当角色中的代码访问 Azure 存储(blob、队列或表)时,它就需要一个连接字符串。

备注

Azure 存储帐户的连接字符串必须使用定义的格式(请参阅 配置 Azure 存储连接字符串)。

可以根据需要将连接字符串设置为使用本地存储,然后在部署应用程序云服务时设置为 Azure 存储帐户。 未能正确设置连接字符串可能会导致您负责的角色无法启动,或者频繁地在初始化状态、忙碌状态和停止状态之间循环。

若要创建连接字符串,请选择 添加设置,并将 类型 设置为“连接字符串”。

对于新的或现有的连接字符串,请选择 字段右侧的 ...* 以打开 创建存储连接字符串 对话框:

  1. 在“连接时使用”下,选择“你的订阅”选项,以从订阅中选择存储帐户。 然后,Visual Studio 会自动从 .publishsettings 文件获取存储帐户凭据。
  2. 选择 手动输入的凭据 允许使用 Azure 门户中的信息直接指定帐户名称和密钥。 复制帐户密钥:
    1. 导航到 Azure 门户上的存储帐户,然后选择 管理密钥
    2. 若要复制帐户密钥,请导航到 Azure 门户中的存储帐户,选择 设置 > 访问密钥,然后使用复制按钮将主访问密钥复制到剪贴板。
  3. 选择其中一个连接选项。 指定自定义终结点 要求指定 Blob、表和队列的特定 URL。 自定义终结点允许使用 自定义域 并更准确地控制访问。 请参阅配置 Azure 存储连接字符串
  4. 选择 “确定”,然后 “文件”>“保存”,以使用新的连接字符串更新配置。

同样,将应用程序发布到 Azure 时,请选择包含连接字符串的 Azure 存储帐户的服务配置。 发布应用程序后,验证应用程序是否按预期方式对 Azure 存储服务工作。

有关如何更新服务配置的详细信息,请参阅 管理存储帐户的连接字符串部分。

“终结点”页

Web 角色通常在端口 80 上具有单个 HTTP 终结点。 另一方面,工作角色可以具有任意数量的 HTTP、HTTPS 或 TCP 终结点。 终结点可以是可供外部客户端使用的输入终结点,也可以是可供服务中运行的其他角色使用的内部终结点。

  • 若要使 HTTP 终结点可用于外部客户端和 Web 浏览器,请将终结点类型更改为输入,并指定名称和公共端口号。
  • 若要使 HTTPS 终结点可用于外部客户端和 Web 浏览器,请将终结点类型更改为 输入,并指定名称、公共端口号和管理证书名称。 还必须在 证书 属性页上定义证书,然后才能指定管理证书。
  • 若要使终结点可供云服务中的其他角色进行内部访问,请将终结点类型更改为内部,并为此终结点指定名称和可能的专用端口。

本地存储页

可以使用 本地存储 属性页为角色保留一个或多个本地存储资源。 本地存储资源是运行角色实例的 Azure 虚拟机文件系统中的保留目录。

"证书"页

Certificates 属性页将证书的相关信息添加到服务配置。 请注意,证书未打包到服务中;必须通过 Azure 门户将证书单独上传到 Azure。

在此处添加证书会将有关证书的信息添加到服务配置。 证书未与服务一起打包;必须通过 Azure 门户单独上传证书。

若要将证书与角色相关联,请提供证书的名称。 在 终结点 页上配置 HTTPS 终结点时,使用此名称来引用证书。 接下来,指定证书存储是 本地计算机 还是 当前用户 以及存储的名称。 最后,输入证书的指纹。 如果证书位于当前用户\个人(我的)存储区中,可以通过从列出证书的列表中选择来输入证书的指纹。 如果它驻留在任何其他位置,请手动输入指纹值。

从证书存储中添加证书时,会自动将任何中间证书添加到配置设置中。 此外,必须将这些中间证书上传到 Azure,才能正确配置 SSL 服务。

与服务关联的任何管理证书仅当服务在云中运行时才会应用于服务。 当服务在本地开发环境中运行时,它使用由计算模拟器管理的标准证书。