Aspire, RazorPage, Project
F:\Projects\VS\AspireRazorChartSln\AspireRazorChartSln.sln
F:\Projects\VS\AspireRazorChartSln\AspireRazorChart01\AspireRazorChart01.csproj
Вот правильная конфигурация для .NET Aspire в вашем проекте Razor Pages:
using ChartDirLib031;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Diagnostics.HealthChecks;
namespace AspireRazorChart01
{
public class Program
{
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
// Добавляем сервисы .NET Aspire
builder.AddServiceDefaults();
// Health Checks
builder.Services.AddHealthChecks()
.AddCheck("AspireRazorChart01", () => HealthCheckResult.Healthy());
// Singletons/apps
builder.Services.AddSingleton<ChartContainer>(sp =>
{
var container = new ChartContainer(80);
for (int i = 0; i < 15; i++)
{
container.AddChart(new Chart(80));
}
return container;
});
// Razor Pages support
builder.Services.AddRazorPages();
var app = builder.Build();
// Используем стандартные middleware .NET Aspire
app.MapDefaultEndpoints();
// Standard pipeline
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.Run();
}
}
}Ключевые изменения:
Удалены неиспользуемые using - убраны закомментированные пространства имен Aspire
Добавлен
builder.AddServiceDefaults()- этот метод автоматически настраивает:Metrics (метрики)
Tracing (трассировку)
Logging (структурированное логирование)
Health checks endpoint
Добавлен
app.MapDefaultEndpoints()- этот метод автоматически маппит:Health checks на
/healthMetrics на
/metrics
Добавлен
app.UseStaticFiles()- необходим для обслуживания статических файловУпрощен
app.MapRazorPages()- убрана цепочка.WithStaticAssets()
Также убедитесь, что в вашем .csproj файле добавлены ссылки на пакеты Aspire:
<PackageReference Include="Aspire.Hosting" Version="9.5.0" />
<PackageReference Include="Aspire.Microsoft.AspNetCore" Version="9.5.0" />Эта конфигурация обеспечит правильную интеграцию со всеми компонентами .NET Aspire Dashboard.
Комментариев нет:
Отправить комментарий