rksoftware

Visual Studio とか C# とかが好きです

.NET Aspire のコンテナ部分

以前、.NET Aspire を動かしてみました。
rksoftware.hatenablog.com
その際、Blazor のフロントエンドと、API のバックエンド、テレメトリーの送信、Redis コンテナがセットになったテンプレートがその形態の一つだとわかりました。

しかし、コンテナが見つからずにどこに、という状態。いま改めて新しいプロジェクトを起動してみました。

います。いました。

■ プロジェクトの新規作成時

このチェックですねやはり。

■ コードの差

チェックなし

var builder = DistributedApplication.CreateBuilder(args);

var apiservice = builder.AddProject<Projects.AspireApp2_ApiService>("apiservice");

builder.AddProject<Projects.AspireApp2_Web>("webfrontend")
    .WithReference(apiservice);

builder.Build().Run();

チェックあり

var builder = DistributedApplication.CreateBuilder(args);

var cache = builder.AddRedisContainer("cache");

var apiservice = builder.AddProject<Projects.AspireApp3_ApiService>("apiservice");

builder.AddProject<Projects.AspireApp3_Web>("webfrontend")
    .WithReference(cache)
    .WithReference(apiservice);

builder.Build().Run();

次のコードが増えています。これですね。

var cache = builder.AddRedisContainer("cache");
......
    .WithReference(cache)

■ 地味に Web フロントエンドも

地味に Web フロントエンドも当然といえば当然変わりますね。

builder.Services.AddOutputCache();

builder.AddRedisOutputCache("cache");

■ テレメトリーはどこ?

テレメトリーはどこで送らてれいるのでしょう? これからさらにもう少し見てみたいと思います。