应用主机配置
应用主机项目配置并启动分布式应用程序(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_URL
和DOTNET_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_TRANSPORT 或 DistributedApplicationOptions.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 进行匿名访问。 |