.Net Aspire, Aspire, Doc
file:///F:/chathistory/MSDoc/dotnet-aspire.pdf
https://learn.microsoft.com/ru-ru/dotnet/aspire/whats-new/dotnet-aspire-9.5
.Net Aspire, Aspire, Doc
file:///F:/chathistory/MSDoc/dotnet-aspire.pdf
https://learn.microsoft.com/ru-ru/dotnet/aspire/whats-new/dotnet-aspire-9.5
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 на /health
Metrics на /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.
Install (Azure) microsoft.azd, Update, Aspire 9.5
----------------------------------------------------------------
PS C:\Users\Administrator> winget install microsoft.azd
The `msstore` source requires that you view the following agreements before using.
Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction
The source requires the current machine's 2-letter geographic region to be sent to the backend service to function properly (ex. "US").
Do you agree to all the source agreements terms?
[Y] Yes [N] No: Y
Found Azure Developer CLI [Microsoft.Azd] Version 1.20.300
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://github.com/Azure/azure-dev/releases/download/azure-dev-cli_1.20.2/azd-windows-amd64.msi
██████████████████████████████ 15.7 MB / 15.7 MB
Successfully verified installer hash
Starting package install...
Successfully installed
PS C:\Users\Administrator> winget install microsoft.azdwinget install microsoft.azd
-----------------------------------------------------------------------------------------------
Update, Aspire 9.5
https://learn.microsoft.com/ru-ru/dotnet/aspire/whats-new/dotnet-aspire-9.5
📢 Aspire 9.5 — это следующая минорная версия Aspire. Он поддерживает:
Если у вас есть отзывы, вопросы или хотите внести свой вклад Aspire, сотрудничайте с нами или присоединяйтесь к нам GitHub в
Discord , чтобы поговорить с командой и другими участниками сообщества.
Важно отметить, что выпуски Aspire являются внеочередными от выпусков .NET. Хотя основные версии Aspire соответствуют основным .NET версиям, дополнительные версии выпускаются чаще. Дополнительные сведения о поддержке версий .NET и Aspire см.:
Примечание
aspire updateПопробуйте! Aspire 9.5 представляет новую команду CLI предварительной версии — aspire update — которая может обновить ваш AppHost и его пакеты. Получите последнюю версию интерфейса командной строки, если вы хотите отправить нам отзыв об этом GitHub!
Переход между минорными выпусками Aspire прост.
Получите последнюю версию Aspire интерфейса командной строки.
curl -sSL https://aspire.dev/install.sh | bash
iex "& { $(irm https://aspire.dev/install.ps1) }"
В файле проекта AppHost (то есть MyApp.AppHost.csproj) обновите пакет 📦Aspire.AppHost.Sdk до версии 9.5.1:
<Sdk Name="Aspire.AppHost.Sdk" Version="9.5.1" />
Дополнительные сведения см. в разделе Aspire SDK.
Проверьте наличие обновлений пакета NuGet, используя диспетчер пакетов Visual Studio или команду Обновить пакет NuGet из C# Dev Kit в Visual Studio Code (Visual Studio Code).
Обновите до последнихAspire шаблонов, выполнив следующую .NET команду:
dotnet new install Aspire.ProjectTemplates
Примечание
Команда dotnet new install обновляет существующие Aspire шаблоны до последней версии, если они уже установлены.
Если файл проекта AppHost не содержит ссылку Aspire.AppHost.Sdk , возможно, вы по-прежнему используете Aspire 8. Чтобы обновить до 9, следуйте руководству по обновлению.
https://giga.chat/link/gcseDrSCqG
Net Aspire, CQRS, Event Sourcing
Когда совместимо использование CQRS и ES?
Какие задачи решает Event Sourcing?
Какие плюсы у Event Sourcing?
Где чаще всего применяется Event Sourcing?
Какой минимальный набор технологий нужен для ES/CQRS?Как выбрать хранилище событий?Какие проблемы решает Event Sourcing?
масштабированность
Производительность
Гибкость
Audit и аналитика
Удобство из коробкиКакие проблемы решает Event Sourcing?
Чем отличается событие от сообщения?---------------https://habr.com/ru/companies/otus/articles/518282/