ringkasan .NET.NET Aspire
.NET Aspire adalah sekumpulan alat, templat, dan paket untuk membangun aplikasi siap produksi yang dapat diamati. .NET Aspire disampaikan melalui koleksi paket NuGet yang melakukan bootstrap atau meningkatkan tantangan spesifik dengan pengembangan aplikasi modern. Aplikasi saat ini umumnya menggunakan sejumlah besar layanan, seperti database, pesan, dan penembolokan, banyak di antaranya didukung melalui .NET.NET Aspire Integrations. Untuk informasi tentang dukungan, lihat .NET.NET Aspire Kebijakan Dukungan.
Mengapa .NET.NET Aspire?
.NET .NET Aspire meningkatkan pengalaman membangun aplikasi yang memiliki berbagai proyek dan sumber daya. Dengan peningkatan produktivitas selama waktu pengembangan yang meniru skenario yang sudah diterapkan, Anda dapat dengan cepat mengembangkan aplikasi yang saling terhubung. Dirancang untuk fleksibilitas, .NET.NET Aspire memungkinkan Anda mengganti atau memperluas bagian dengan alat dan alur kerja pilihan Anda. Fitur utama meliputi:
- Dev-Time Orkestrasi: .NET.NET Aspire menyediakan fitur untuk menjalankan dan menghubungkan aplikasi multi-proyek, sumber daya kontainer, dan dependensi lainnya untuk lingkungan pengembangan lokal .
- Integrasi: integrasi .NET Aspire adalah paket NuGet untuk layanan yang umum digunakan, seperti Redis atau Postgres, dengan antarmuka standar yang memastikannya terhubung secara konsisten dan mulus dengan aplikasi Anda.
- Tooling: .NET Aspire dilengkapi dengan templat proyek dan pengalaman alat untuk Visual Studio, Visual Studio Code, serta .NET CLI untuk membantu Anda membuat dan berinteraksi dengan proyek .NET.NET Aspire.
Orkestrasi waktu pengembangan
Dalam .NET.NET Aspire, "orkestrasi" terutama berfokus pada peningkatan pengalaman pengembangan lokal dengan menyederhanakan manajemen konfigurasi dan interkoneksi aplikasi Anda. Penting untuk dicatat bahwa orkestrasi .NET.NET Aspiretidak dimaksudkan untuk menggantikan sistem kuat yang digunakan di lingkungan produksi, seperti Kubernetes. Sebaliknya, ini adalah serangkaian abstraksi yang menyederhanakan penyiapan penemuan layanan, variabel lingkungan, dan konfigurasi kontainer, menghilangkan kebutuhan untuk menangani detail implementasi tingkat rendah. Dengan .NET.NET Aspire, kode Anda memiliki pengalaman bootstrapping yang konsisten pada komputer dev apa pun tanpa perlu langkah manual yang kompleks, sehingga lebih mudah dikelola selama fase pengembangan.
.NET .NET Aspire orkestrasi membantu masalah berikut:
- Komposisi aplikasi: Tentukan proyek .NET, kontainer, executable, dan sumber daya cloud yang membentuk aplikasi.
- Penemuan layanan dan manajemen string koneksi: Host aplikasi menyuntikkan string koneksi, konfigurasi jaringan, dan informasi penemuan layanan yang tepat untuk menyederhanakan pengalaman pengembang.
Misalnya, menggunakan .NET Aspire, kode berikut membuat sumber daya kontainer Redis lokal, menunggunya tersedia, lalu mengonfigurasi string koneksi yang sesuai dalam proyek "frontend"
dengan beberapa panggilan metode pembantu:
// 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);
Untuk informasi selengkapnya, lihat gambaran umum orkestrasi .NET.NET Aspire.
Penting
Panggilan ke AddRedis membuat kontainer Redis baru di lingkungan dev lokal Anda. Jika Anda lebih suka menggunakan instans Redis yang ada, Anda dapat menggunakan metode AddConnectionString untuk mereferensikan string koneksi yang ada. Untuk informasi selengkapnya, lihat referensi sumber daya yang ada.
integrasi .NET.NET Aspire
.NET .NET Aspire integrasi adalah paket NuGet yang dirancang untuk menyederhanakan koneksi ke layanan dan platform populer, seperti Redis atau PostgreSQL. .NET .NET Aspire integrasi menangani penyiapan dan interaksi sumber daya cloud untuk Anda melalui pola standar, seperti menambahkan pemeriksaan kesehatan dan telemetri. Integrasi terdiri dari dua bagian - integrasi "hosting" mewakili layanan yang Anda hubungkan, dan integrasi "klien" mewakili klien layanan tersebut. Dengan kata lain, untuk banyak paket hosting ada paket klien yang sesuai yang menangani koneksi layanan dalam kode Anda.
Setiap integrasi dirancang untuk bekerja dengan host aplikasi .NET.NET Aspire, dan konfigurasinya disuntikkan secara otomatis dengan mereferensikan sumber daya bernama. Dengan kata lain, jika Example.ServiceFoo referensi Example.ServiceBar, Example.ServiceFoo mewarisi konfigurasi integrasi yang diperlukan untuk memungkinkan mereka berkomunikasi satu sama lain secara otomatis.
Misalnya, pertimbangkan kode berikut menggunakan integrasi .NET.NET Aspire Service Bus:
builder.AddAzureServiceBusClient("servicebus");
Metode AddAzureServiceBusClient menangani masalah berikut:
- Mendaftarkan ServiceBusClient sebagai singleton dalam kontainer DI untuk menyambungkan ke Azure Service Bus.
- Menerapkan konfigurasi ServiceBusClient baik sebaris melalui kode atau melalui konfigurasi.
- Memungkinkan pemeriksaan kesehatan, pengelogan, dan telemetri yang sesuai khusus untuk penggunaan Azure Service Bus.
Daftar lengkap integrasi yang tersedia dirinci di halaman gambaran umum integrasi .NET.NET Aspire.
Templat dan alat proyek
.NET Aspire menyediakan serangkaian templat proyek dan pengalaman alat untuk Visual Studio, Visual Studio Code, dan .NET CLI. Templat ini dirancang untuk membantu Anda membuat dan berinteraksi dengan proyek .NET Aspire, atau menambahkan .NET Aspire ke basis kode yang ada. Templat mencakup sekumpulan pengaturan awal yang telah ditentukan untuk membantu Anda memulai dengan cepat - misalnya, templat tersebut memiliki kode dasar untuk mengaktifkan pemeriksaan kesehatan dan pencatatan di aplikasi .NET. Default ini sepenuhnya dapat disesuaikan, sehingga Anda dapat mengedit dan menyesuaikannya sesuai dengan kebutuhan Anda.
templat .NET.NET Aspire juga menyertakan metode ekstensi boilerplate yang menangani konfigurasi layanan umum untuk Anda:
builder.AddServiceDefaults();
Untuk informasi selengkapnya tentang apa yang AddServiceDefaults
lakukan, lihat default layanan .NET.NET Aspire.
Saat ditambahkan ke file Program.cs Anda, kode sebelumnya menangani masalah berikut:
- OpenTelemetry: Menyiapkan pengelogan berformat, metrik runtime, meter bawaan, dan pelacakan untuk ASP.NET Core, gRPC, dan HTTP. Untuk informasi lebih lanjut, lihat .NET.NET Aspire telemetri.
- Pemeriksaan kesehatan bawaan: Menambahkan titik akhir pemeriksaan kesehatan bawaan yang dapat diakses oleh alat untuk memantau aplikasi Anda. Untuk informasi selengkapnya, lihat .NET pemeriksaan kesehatan aplikasi di C#.
- Penemuan layanan: Memungkinkan penemuan layanan untuk aplikasi dan mengonfigurasi HttpClient sesuai.
Langkah berikutnya
.NET Aspire