应用主机配置

应用主机项目配置并启动分布式应用程序(DistributedApplication)。 当 DistributedApplication 运行时,它会从应用主机读取配置。 配置是从应用主机上设置的环境变量加载的,DistributedApplicationOptions

配置包括:

  • 用于托管资源服务的设置,例如地址和身份验证选项。
  • 用于启动 .NET.NET Aspire 仪表板的设置,例如仪表板的前端和 OpenTelemetry 协议(OTLP)地址。
  • .NET .NET Aspire 用于运行应用主机的内部设置。 这些设置在内部,但可通过扩展 .NET.NET Aspire的集成进行访问。

应用主机启动配置文件提供应用主机配置。 应用主机 launchSettings 具有启动设置文件调用。具有启动配置文件列表的json。 每个启动配置文件都是相关选项的集合,这些选项定义 dotnet 启动应用程序的方式。

{
  "$schema": "https://json.schemastore.org/launchsettings.json",
  "profiles": {
    "https": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "https://localhost:17134;http://localhost:15170",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "DOTNET_ENVIRONMENT": "Development",
        "DOTNET_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21030",
        "DOTNET_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22057"
      }
    }
  }
}

前面的启动设置文件:

  • 有一个名为 https的启动配置文件。
  • 配置 .NET.NET Aspire 应用主机项目:
    • applicationUrl 属性配置仪表板启动地址(ASPNETCORE_URLS)。
    • 在应用主机上设置 DOTNET_DASHBOARD_OTLP_ENDPOINT_URLDOTNET_RESOURCE_SERVICE_ENDPOINT_URL 等环境变量。

有关详细信息,请参阅 .NET.NET Aspire 和启动配置文件

注意

此页上所述的配置适用于 .NET.NET Aspire 应用主机项目。 若要配置独立仪表板,请参阅 仪表板配置

常见配置

选择 默认值 描述
ASPIRE_ALLOW_UNSECURED_TRANSPORT false 允许在没有 https 的情况下与应用主机通信。 ASPNETCORE_URLS(仪表板地址)和 DOTNET_RESOURCE_SERVICE_ENDPOINT_URL(应用主机资源服务地址)必须使用 HTTPS 进行保护,除非为 true。
DOTNET_ASPIRE_CONTAINER_RUNTIME docker 允许用户为容器支持的资源提供备用容器运行时。 可能的值为 docker(默认值)或 podman。 有关更多详细信息,请参阅 设置和工具概述。

资源服务

资源服务由应用主机托管。 资源服务由仪表板用来获取有关由 .NET.NET Aspire协调的资源的信息。

选择 默认值 描述
DOTNET_RESOURCE_SERVICE_ENDPOINT_URL null 配置应用主机托管的资源服务的地址。 使用 launchSettings 自动生成。json 在 localhost上具有随机端口。 例如,https://localhost:17037
DOTNET_DASHBOARD_RESOURCESERVICE_APIKEY 自动生成的 128 位萎缩令牌。 用于对应用主机的资源服务发出的请求进行身份验证的 API 密钥。 如果应用主机处于运行模式、仪表板未禁用,并且仪表板未配置为允许使用 DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS进行匿名访问,则需要 API 密钥。

挡泥板

默认情况下,仪表板由应用主机自动启动。 仪表板支持 自己的配置集,并且可以从应用主机配置某些设置。

选择 默认值 描述
ASPNETCORE_URLS null 仪表板地址。 必须 https,除非 ASPIRE_ALLOW_UNSECURED_TRANSPORTDistributedApplicationOptions.AllowUnsecuredTransport 为 true。 使用 launchSettings 自动生成。json 在 localhost上具有随机端口。 启动设置中的值在 applicationUrls 属性上设置。
ASPNETCORE_ENVIRONMENT Production 配置仪表板运行的环境。 有关详细信息,请参阅 在 ASP.NET Core中使用多个环境。
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL 如果未配置 gRPC 终结点,http://localhost:18889 配置仪表板 OTLP gRPC 地址。 由仪表板用来通过 OTLP 接收遥测数据。 将资源设置为 OTEL_EXPORTER_OTLP_ENDPOINT env var。 OTEL_EXPORTER_OTLP_PROTOCOL env var grpc。 使用 launchSettings 自动生成。json 在 localhost上具有随机端口。
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL null 配置仪表板 OTLP HTTP 地址。 由仪表板用来通过 OTLP 接收遥测数据。 如果仅配置 DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL,则会在资源上将其设置为 OTEL_EXPORTER_OTLP_ENDPOINT env var。 OTEL_EXPORTER_OTLP_PROTOCOL env var http/protobuf
DOTNET_DASHBOARD_FRONTEND_BROWSERTOKEN 自动生成的 128 位萎缩令牌。 配置前端浏览器令牌。 这是在身份验证模式为 BrowserToken 时必须输入的值才能访问仪表板。 如果未指定浏览器令牌,则每次启动应用主机时都会生成一个新令牌。

内部

应用主机和集成使用内部设置。 不会直接配置内部设置。

选择 默认值 描述
AppHost:Directory 如果没有项目,则为内容根目录。 应用主机所在的项目的目录。 可从 IDistributedApplicationBuilder.AppHostDirectory访问。
AppHost:Path 与应用程序名称组合的目录。 应用主机的路径。 它将目录与应用程序名称组合在一起。
AppHost:Sha256 当应用主机处于发布模式时,它从应用主机名创建。 否则,它会从应用主机路径创建。 当前应用程序的十六进制编码哈希。 哈希基于当前计算机上应用的位置,因此它在应用主机的启动之间保持稳定。
AppHost:OtlpApiKey 自动生成的 128 位萎缩令牌。 用于对发送到仪表板 OTLP 服务的请求进行身份验证的 API 密钥。 如果需要,该值存在:应用主机处于运行模式,仪表板未禁用,并且仪表板未配置为允许使用 DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS进行匿名访问。
AppHost:BrowserToken 自动生成的 128 位萎缩令牌。 在应用主机启动仪表板时,用于对浏览到仪表板进行身份验证的浏览器令牌。 浏览器令牌可以通过 DOTNET_DASHBOARD_FRONTEND_BROWSERTOKEN设置。 如果需要,该值存在:应用主机处于运行模式,仪表板未禁用,并且仪表板未配置为允许使用 DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS进行匿名访问。
AppHost:ResourceService:AuthMode ApiKey。 如果 DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS 为 true,则该值 Unsecured 用于访问资源服务的身份验证模式。 如果需要,该值存在:应用主机处于运行模式,并且仪表板未禁用。
AppHost:ResourceService:ApiKey 自动生成的 128 位萎缩令牌。 用于对应用主机的资源服务发出的请求进行身份验证的 API 密钥。 API 密钥可以通过 DOTNET_DASHBOARD_RESOURCESERVICE_APIKEY设置。 如果需要,该值存在:应用主机处于运行模式,仪表板未禁用,并且仪表板未配置为允许使用 DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS进行匿名访问。