You need to enable JavaScript to run this app. .NET Core部署到Azure App Service后如何获取运行实例的名称或ID
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core部署到Azure App Service后如何获取运行实例的名称或ID

.NET Core部署到Azure App Service获取运行实例标识的实现方案

核心原理

Azure App Service在运行时会自动为每个实例注入预设的环境变量,你需要的实例标识可以直接从环境变量中读取,无需引入额外依赖。

可用环境变量说明

  • WEBSITE_ROLE_INSTANCE_ID:返回格式为{应用名称}_{实例序号},也就是你需要的MyApp_0、MyApp_1这类标识,完全匹配需求
  • WEBSITE_INSTANCE_ID:返回当前实例的16位唯一哈希ID,适合需要全局唯一标识的场景使用
  • 以上两个变量在Windows、Linux宿主的Azure App Service以及部署槽环境中均通用。

实现方式

方式1:直接读取环境变量

// 读取带应用名和序号的实例标识
var instanceRoleId = Environment.GetEnvironmentVariable("WEBSITE_ROLE_INSTANCE_ID") ?? "Local_Dev";
// 读取唯一哈希ID
var instanceUniqueId = Environment.GetEnvironmentVariable("WEBSITE_INSTANCE_ID") ?? "Local_Dev_Id";

方式2:通过IConfiguration读取(推荐)

.NET Core默认会把环境变量加入配置源,你可以直接通过注入的IConfiguration读取,更符合.NET Core的配置规范:

public class InstanceService
{
    public readonly string CurrentInstanceId;

    public InstanceService(IConfiguration config)
    {
        CurrentInstanceId = config["WEBSITE_ROLE_INSTANCE_ID"] ?? "Local_Dev";
    }
}

注意:上述环境变量仅在部署到Azure App Service后存在,本地开发环境默认没有该值,你可以在项目的launchSettings.json中手动添加对应环境变量模拟线上行为。

内容的提问来源于stack exchange,提问作者Josh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 05:54:02