Omówienie .NET.NET Aspire
.NET Aspire to zestaw narzędzi, szablonów i pakietów do tworzenia obserwowalnych aplikacji gotowych do produkcji. .NET Aspire jest dostarczany za pośrednictwem kolekcji pakietów NuGet, które uruchamiają lub poprawiają konkretne wyzwania związane z nowoczesnym tworzeniem aplikacji. Dzisiejsze aplikacje zazwyczaj korzystają z dużej liczby usług, takich jak bazy danych, obsługa komunikatów i buforowanie, z których wiele jest obsługiwanych za pośrednictwem .NET.NET Aspire Integrations. Aby uzyskać informacje na temat pomocy technicznej, zobacz zasady pomocy technicznej .NET.NET Aspire.
Dlaczego .NET.NET Aspire?
.NET .NET Aspire usprawnia tworzenie aplikacji, które mają różne projekty i zasoby. Dzięki ulepszeniom produktywności w czasie tworzenia, które emulują wdrożone scenariusze, można szybko tworzyć połączone aplikacje. Zaprojektowana pod kątem elastyczności, .NET.NET Aspire umożliwia zastępowanie lub rozszerzanie części preferowanymi narzędziami i przepływami pracy. Najważniejsze funkcje obejmują:
- Dev-Time Orchestration: .NET.NET Aspire udostępnia funkcje uruchamiania i łączenia aplikacji z wielu projektów, zasobów kontenerowych i innych zależności dla lokalnych środowisk deweloperskich.
- Integrations: .NET Aspire integracje to pakiety NuGet dla często używanych usług, takich jak Redis lub Postgres, które dzięki ustandaryzowanym interfejsom zapewniają spójne i bezproblemowe połączenie z aplikacją.
- Tooling: .NET Aspire zawiera szablony projektów i narzędzia dla Visual Studio, Visual Studio Codeoraz interfejsu wiersza polecenia .NET, co ułatwia tworzenie i interakcję z projektami .NET.NET Aspire.
Orkiestracja w czasie tworzenia
W .NET.NET Aspire"orkiestracja" koncentruje się przede wszystkim na ulepszaniu lokalnego środowiska deweloperskiego, upraszczając zarządzanie konfiguracją i wzajemnymi połączeniami aplikacji. Należy pamiętać, że orkiestracja .NET.NET Aspirenie ma na celu zastąpienia niezawodnych systemów używanych w środowiskach produkcyjnych, takich jak Kubernetes. Zamiast tego jest to zestaw abstrakcji, który usprawnia konfigurowanie odnajdywania usług, zmiennych środowiskowych i konfiguracji kontenerów, eliminując konieczność obsługi szczegółów implementacji niskiego poziomu. Dzięki .NET.NET Aspirekod ma spójne środowisko uruchamiania na dowolnej maszynie deweloperskiej bez konieczności wykonywania złożonych kroków ręcznych, co ułatwia zarządzanie w fazie rozwoju.
.NET .NET Aspire orkiestracja pomaga w następujących kwestiach:
- Kompozycja aplikacji: określ projekty .NET, kontenery, pliki wykonywalne i zasoby w chmurze, które tworzą aplikację.
- odkrywanie usług i zarządzanie ciągami połączeń: host aplikacji wprowadza odpowiednie ciągi połączeń, konfiguracje sieci i informacje o odkrywaniu usług, aby uprościć doświadczenie dewelopera.
Na przykład przy użyciu .NET Aspireponiższy kod tworzy lokalny zasób kontenera Redis, czeka na udostępnienie go, a następnie konfiguruje odpowiednie parametry połączenia w projekcie "frontend"
z kilkoma wywołaniami metody pomocniczej:
// Create a distributed application builder given the command line arguments.
var builder = DistributedApplication.CreateBuilder(args);
// Add a Redis server to the application.
var cache = builder.AddRedis("cache");
// Add the frontend project to the application and configure it to use the
// Redis server, defined as a referenced dependency.
builder.AddProject<Projects.MyFrontend>("frontend")
.WithReference(cache)
.WaitFor(cache);
Aby uzyskać więcej informacji, zobacz omówienie orkiestracji .NET.NET Aspire.
Ważny
Wywołanie AddRedis tworzy nowy kontener Redis w lokalnym środowisku deweloperskim. Jeśli wolisz użyć istniejącego wystąpienia Redis, możesz użyć metody AddConnectionString, aby odwołać się do istniejących parametrów połączenia. Aby uzyskać więcej informacji, zobacz Dokumentacja istniejących zasobów.
integracje .NET.NET Aspire
.NET .NET Aspire integracje to pakiety NuGet przeznaczone do upraszczania połączeń z popularnymi usługami i platformami, takimi jak Redis lub PostgreSQL. .NET .NET Aspire integracje obsługują konfigurację i interakcję zasobów w chmurze za pomocą standardowych wzorców, takich jak dodawanie kontroli kondycji i telemetrii. Integracje są dwa razy — "hosting" integracje reprezentuje usługę, z którą nawiązujesz połączenie, a integracje "klienta" reprezentują klienta lub konsumenta tej usługi. Innymi słowy, w przypadku wielu pakietów hostingowych istnieje odpowiedni pakiet klienta, który obsługuje połączenie z usługą w kodzie.
Każda integracja jest przeznaczona do pracy z hostem aplikacji .NET.NET Aspire, a ich konfiguracje są automatycznie wstrzykiwane przez poprzez odwołanie się do nazwanych zasobów. Innymi słowy, jeśli Example.ServiceFoo odwołuje się do Example.ServiceBar, Example.ServiceFoo dziedziczy konfiguracje niezbędne do integracji, aby umożliwić im automatyczną komunikację między sobą.
Rozważmy na przykład następujący kod przy użyciu integracji z usługą .NET.NET Aspire Service Bus:
builder.AddAzureServiceBusClient("servicebus");
Metoda AddAzureServiceBusClient obsługuje następujące problemy:
- Rejestruje ServiceBusClient jako singleton w kontenerze DI do połączenia z Azure Service Bus.
- Stosuje konfiguracje ServiceBusClient bezpośrednio w kodzie lub za pomocą konfiguracji.
- Włącza odpowiednie sprawdzanie stanu zdrowia, rejestrowanie i dane telemetryczne specyficzne dla użycia Azure Service Bus.
Pełna lista dostępnych integracji została szczegółowo przedstawiona na stronie przeglądu integracji .NET.NET Aspire.
Szablony projektów i narzędzia
.NET Aspire udostępnia zestaw szablonów projektów i narzędzi dla Visual Studio, Visual Studio Codeoraz interfejsu linii poleceń .NET. Te szablony ułatwiają tworzenie i interakcję z projektami .NET Aspire lub dodawanie .NET Aspire do istniejącej bazy kodu. Szablony zawierają zestaw opiniowanych ustawień domyślnych, które ułatwiają szybkie rozpoczęcie pracy — na przykład zawierają szablonowy kod umożliwiający włączenie kontroli stanu i logowania w aplikacjach .NET. Te wartości domyślne są w pełni dostosowywalne, dzięki czemu można je edytować i dostosowywać do własnych potrzeb.
szablony .NET.NET Aspire też obejmują szablonowe metody rozszerzeń, które obsługują typowe konfiguracje usług:
builder.AddServiceDefaults();
Aby uzyskać więcej informacji na temat tego, co robi AddServiceDefaults
, zobacz .NET.NET Aspire ustawienia domyślne usługi.
Po dodaniu do pliku Program.cs powyższy kod obsługuje następujące kwestie:
- OpenTelemetry: Konfiguruje sformatowane rejestrowanie, metryki czasu wykonywania, wbudowane mierniki i śledzenie dla ASP.NET Core, gRPC i HTTP. Aby uzyskać więcej informacji, zobacz .NET.NET Aspire telemetry.
- Domyślne kontrole stanu: Dodaje domyślne punkty końcowe sprawdzania stanu, z których narzędzia mogą korzystać, aby monitorować aplikację. Aby uzyskać więcej informacji, zobacz .NET sprawdzanie kondycji aplikacji w języku C#.
- odkrywanie usług: umożliwia odkrywanie usług dla aplikacji i odpowiednio konfiguruje HttpClient.