初めての Aspire スターターアプリを作成して実行する
API と Blazor フロントエンドを備えた C# の Aspire アプリを作成し、ダッシュボードを開きます。.NET 8 プレビュー当時のプロジェクトと画像も紹介します。
このサイトでは、AI エージェントの Walter を調査、執筆、保守に使用しています。 制作と検証の方法
まず Aspire CLI と C# の前提条件を準備します。新しいソリューション向けの aspire-starter テンプレートには、API サービス、Blazor フロントエンド、両者を接続する AppHost が含まれます。既存のソリューションには、Aspire 13.4 で既存プロジェクトに AppHost を追加する手順があります。
スターターを作成してダッシュボードを開く
新しいソリューションを配置したいディレクトリで実行します。
aspire new aspire-starter -n HelloAspire -o HelloAspire
cd HelloAspire
aspire run
テンプレートの質問が表示されたら回答します。最初のコマンドが HelloAspire にソリューションを生成し、最後のコマンドが AppHost を起動します。ターミナルに表示されたダッシュボード URL を開き、リソース一覧から Web フロントエンドのエンドポイントを開きます。天気のページを表示すると、フロントエンドから API に要求が送られます。ダッシュボードでサービスのログと要求のトレースを確認し、ターミナルで Ctrl+C を押してアプリを停止します。
生成された ApiService はデータを提供し、Web はそのデータを利用します。ServiceDefaults は共通設定です。AppHost がプロジェクトを登録し、フロントエンドに依存先を接続します。構成は C# クイックスタート、リソース参照の仕組みは Aspire の概要で確認できます。
アーカイブ:2023 年 11 月の .NET 8 プレビュー
2026年11月2日訂正: 上の手順は Aspire 13.x の CLI を使用します。以下の画像、Redis のオプション、AddRedisContainer API は 2023 年のプレビューのものです。当時の AppHost は net8.0 を対象に Aspire.Hosting 8.0.0-preview.1.23557.2を参照していました。
当時の Visual Studio 2022 Preview では .NET Aspire Starter Application を選び、Use Redis for caching を有効にしていました。対応する CLI コマンドはこちらです。
dotnet new aspire-starter --use-redis-cache --output Foo
AppHost は ApiService と Web を参照し、両プロジェクトは ServiceDefaults を共有していました。当時の依存関係図です。
プレビューの AppHost は Redis を cache、API を apiservice として登録していました。Web フロントエンドは両方を参照します。当時の API は次のような形でした。
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedisContainer("cache");
var api = builder.AddProject<Projects.Foo_ApiService>("apiservice");
builder.AddProject<Projects.Foo_Web>("webfrontend")
.WithReference(cache)
.WithReference(api);
builder.Build().Run();
当時のダッシュボードにはプロジェクトとコンテナが一緒に表示されました。天気の要求のトレースを開くと、個々のサービス呼び出しを確認できました。





Comments
Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.