AppHost 專案會設定並啟動分散式應用程式 (DistributedApplication)。 當運行時, DistributedApplication 它會從 AppHost 讀取配置。 組態是從 AppHost 上設定的環境變數載入,以及 DistributedApplicationOptions。
配置包括:
- 裝載資源服務的設定,例如地址和驗證選項。
- 用於啟動儀表板的Aspire設定,例如儀表板的前端和OpenTelemetry通訊協定 (OTLP) 位址。
- 用於運行 AppHost 的內部設置 Aspire 。 這些是在內部設定的,但可以透過擴充 Aspire的整合來存取。
AppHost 組態由 AppHost 啟動設定檔提供。 AppHost 有一個啟動設定檔案呼叫 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",
"ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21030",
"ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22057"
}
}
}
}
上述啟動設定檔:
- 有一個名為
https的啟動配置檔。 - 設定 Aspire AppHost 專案:
-
applicationUrl屬性會設定儀錶板啟動位址 (ASPNETCORE_URLS)。 - 環境變數 (例如
ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL和 )ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL是在 AppHost 上設定的。
-
如需詳細資訊,請參閱 Aspire 並啟動設定檔。
Note
本頁所述的配置適用於 Aspire AppHost專案。 若要設定獨立儀錶板,請參閱 儀錶板組態。
一般組態
| Option | 預設值 | Description |
|---|---|---|
ASPIRE_ALLOW_UNSECURED_TRANSPORT |
false |
允許在沒有 https 的情況下與 AppHost 進行通信。
ASPNETCORE_URLS (儀表板位址) 和 ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL (AppHost 資源服務位址) 必須使用 HTTPS 保護,除非為 true。 |
ASPIRE_CONTAINER_RUNTIME |
docker |
可讓使用者針對容器所支援的資源使用替代容器運行時間。 可能的值為 docker (預設值) 或 podman。 如需詳細資訊,請參閱 |
ASPIRE_VERSION_CHECK_DISABLED |
false |
當設定為 true時, Aspire 不會在啟動時檢查較新的版本。 |
Aspire 版本更新通知
當應用程式啟動時Aspire,它會檢查 NuGet 上是否有較新版本的 。Aspire 如果找到新版本,儀表板中會出現通知,其中包含最新版本號、 升級指示的連結,以及未來忽略該版本的按鈕。
只有在下列情況下,版本檢查才會執行:
- 儀表板已啟用(互動服務可用)。
- 距離上次檢查至少已過去 2 天。
- 尚未透過組態設定停用
ASPIRE_VERSION_CHECK_DISABLED檢查。 - 應用程式未在發佈模式中執行。
更新是手動的。 您必須編輯專案檔,才能升級 Aspire SDK 和套件版本。
資源服務
資源服務由 AppHost 代管。 儀表板會使用資源服務來擷取 所編 Aspire排之資源的相關資訊。
| Option | 預設值 | Description |
|---|---|---|
ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL |
null |
設定 AppHost 所裝載的資源服務位址。 使用 launchSettings.json 自動產生,在 localhost上具有隨機埠。 例如,https://localhost:17037。 |
ASPIRE_DASHBOARD_RESOURCESERVICE_APIKEY |
自動產生 128 位的 entropy Token。 | 用來驗證對 AppHost 資源服務提出要求的 API 金鑰。 如果 AppHost 處於執行模式、儀表板未停用,且儀表板未設定為允許使用 ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS的匿名存取,則需要 API 金鑰。 |
Dashboard
默認情況下,儀表板由 AppHost 自動啟動。 儀表板支援 自己的一組配置,並且可以從 AppHost 配置某些設定。
| Option | 預設值 | Description |
|---|---|---|
ASPNETCORE_URLS |
null |
儀表板位址。 除非 https 或 ASPIRE_ALLOW_UNSECURED_TRANSPORT 為 true,否則必須 DistributedApplicationOptions.AllowUnsecuredTransport。 使用 launchSettings.json 自動產生,在 localhost上具有隨機埠。 啟動設定中的值是在 applicationUrls 屬性上設定。 |
ASPNETCORE_ENVIRONMENT |
Production |
設定儀錶板執行的環境。 如需詳細資訊,請參閱 在 ASP.NET Core中使用多個環境。 |
ASPIRE_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上具有隨機埠。 |
ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL |
null |
設定儀錶板 OTLP HTTP 位址。 儀錶板用來透過OTLP接收遙測。 如果只設定 ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL,則會在資源上設定為 OTEL_EXPORTER_OTLP_ENDPOINT env var。
OTEL_EXPORTER_OTLP_PROTOCOL env var 是 http/protobuf。 |
ASPIRE_DASHBOARD_CORS_ALLOWED_ORIGINS |
null |
覆寫儀表板中設定的CORS允許來源。 此設定會取代根據資源端點計算允許來源的預設行為。 |
ASPIRE_DASHBOARD_FRONTEND_BROWSERTOKEN |
自動產生 128 位的 entropy Token。 | 設定前端瀏覽器令牌。 這是在驗證模式為 BrowserToken 時必須輸入才能存取儀錶板的值。 如果未指定瀏覽器權杖,則每次啟動 AppHost 時都會產生新的權杖。 |
ASPIRE_DASHBOARD_TELEMETRY_OPTOUT |
false |
將儀錶板設定為永不傳送 使用量遙測。 |
ASPIRE_DASHBOARD_AI_DISABLED |
false |
當支援的 IDE 啟動 AppHost 時,儀表板中的 Copilot 可供使用。GitHub 當在儀錶板中停用設定為 true Copilot 時,不會顯示任何 Copilot UI。 |
ASPIRE_DASHBOARD_FORWARDEDHEADERS_ENABLED |
false |
啟用轉送標頭中介軟體,以來自 和 X-Forwarded-Proto 標X-Forwarded-Host頭的值取代要求內容上的配置和主機值。 |
Internal
內部設定由 AppHost 和整合使用。 內部設定並非設計為直接設定。
| Option | 預設值 | Description |
|---|---|---|
AppHost:Directory |
如果沒有專案,則為內容根目錄。 | AppHost 所在專案的目錄。 可從 IDistributedApplicationBuilder.AppHostDirectory存取。 |
AppHost:Path |
與應用程式名稱結合的目錄。 | AppHost 的路徑。 它會結合目錄與應用程式名稱。 |
AppHost:Sha256 |
當 AppHost 處於發佈模式時,它會從 AppHost 名稱建立。 否則,它是從AppHost路徑建立的。 | 目前應用程式的十六進位編碼哈希。 雜湊值是根據應用程式在目前電腦上的位置,因此在啟動 AppHost 之間保持穩定。 |
AppHost:OtlpApiKey |
自動產生 128 位的 entropy Token。 | 用來驗證傳送至儀錶板 OTLP 服務之要求的 API 金鑰。 如有需要,會提供此值:AppHost 處於執行模式、儀表板未停用,且儀表板未設定為允許使用 ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS的匿名存取。 |
AppHost:BrowserToken |
自動產生 128 位的 entropy Token。 | AppHost啟動儀表板時,用來驗證儀表板瀏覽的瀏覽器權杖。 瀏覽器令牌可以透過 ASPIRE_DASHBOARD_FRONTEND_BROWSERTOKEN來設定。 如有需要,會提供此值:AppHost 處於執行模式、儀表板未停用,且儀表板未設定為允許使用 ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS的匿名存取。 |
AppHost:ResourceService:AuthMode |
ApiKey。 如果 ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS 為 true,則值為 Unsecured。 |
用來存取資源服務的驗證模式。 如有需要,會提供此值:AppHost 處於執行模式,且儀表板未停用。 |
AppHost:ResourceService:ApiKey |
自動產生 128 位的 entropy Token。 | 用來驗證對 AppHost 資源服務提出要求的 API 金鑰。 API 金鑰可以透過 ASPIRE_DASHBOARD_RESOURCESERVICE_APIKEY來設定。 如有需要,會提供此值:AppHost 處於執行模式、儀表板未停用,且儀表板未設定為允許使用 ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS的匿名存取。 |