Aracılığıyla paylaş


.NET .NET Aspire genel bakış

.NET Aspire, gözlemlenebilir, üretime hazır uygulamalar oluşturmaya yönelik bir dizi araç, şablon ve pakettir. .NET Aspire, modern uygulama geliştirmeyle belirli zorlukları önyükleyen veya geliştiren nuGet paketleri koleksiyonu aracılığıyla sunulur. Günümüzün uygulamaları genellikle veritabanları, mesajlaşma ve önbelleğe alma gibi çok sayıda hizmet kullanır ve bunların çoğu .NET.NET Aspire Integrationsaracılığıyla desteklenir. Destek hakkında bilgi için bkz. .NET.NET Aspire Destek İlkesi.

Neden .NET.NET Aspire?

.NET .NET Aspire, çeşitli projelere ve kaynaklara sahip uygulamalar oluşturma deneyimini geliştirir. Dağıtılmış senaryoları taklit eden geliştirme süreci verimlilik artırımlarıyla, birbirine bağlı uygulamaları hızla geliştirebilirsiniz. Esneklik için tasarlanan .NET.NET Aspire, parçaları tercih ettiğiniz araçlar ve iş akışlarıyla değiştirmenize veya genişletmenize olanak tanır. Önemli özellikler şunlardır:

  • Dev-Time Orchestration: .NET.NET Aspire, yerel geliştirme ortamları için çok projeli uygulamaları, kapsayıcı kaynaklarını ve diğer bağımlılıkları çalıştırmaya ve bağlamaya yönelik özellikler sağlar.
  • Tümleştirmeler: .NET Aspire tümleştirmeleri, Redis veya Postgresgibi yaygın olarak kullanılan hizmetlere yönelik NuGet paketleridir ve standart arabirimler sayesinde uygulamanızla tutarlı ve sorunsuz bir şekilde bağlantı kurmalarını sağlar.
  • Tooling: .NET Aspire, Visual StudioVisual Studio Code projeleri oluşturmanıza ve bunlarla etkileşim kurmanıza yardımcı olmak için .NET, ve .NET Aspire için proje şablonları ve araç deneyimleri ile birlikte gelir.

Geliştirme zamanı düzenlemesi

.NET .NET Aspire'de "düzenleme", öncelikle uygulamanızın yapılandırmasının ve ara bağlantılarının yönetimini basitleştirerek yerel geliştirme deneyimini geliştirmeye odaklanır. .NET .NET Aspiredüzenlemesinin Kubernetesgibi üretim ortamlarında kullanılan sağlam sistemlerin yerini alacak şekilde tasarlanmamış olduğunu unutmayın. Bunun yerine, hizmet bulma, ortam değişkenleri ve kapsayıcı yapılandırmalarının kurulumunu kolaylaştırarak alt düzey uygulama ayrıntılarıyla ilgilenme gereksinimini ortadan kaldıran bir dizi soyutlamadır. .NET .NET Aspireile kodunuz, karmaşık el ile adımlara gerek kalmadan tüm geliştirme makinelerinde tutarlı bir önyükleme deneyimine sahiptir ve bu da geliştirme aşamasında yönetimi kolaylaştırır.

.NET .NET Aspire düzenlemeleri şu konulara çözüm sağlar:

  • Uygulama oluşturma: Uygulamayı oluşturan .NET projelerini, kapsayıcıları, yürütülebilir dosyaları ve bulut kaynaklarını belirtin.
  • Hizmet bulma ve bağlantı dizesi yönetimi: Uygulama ana bilgisayarı, geliştirici deneyimini basitleştirmek için doğru bağlantı dizelerini, ağ yapılandırmalarını ve hizmet bulma bilgilerini ekler.

Örneğin, .NET Aspirekullanılarak aşağıdaki kod yerel bir Redis kapsayıcı kaynağı oluşturur, kullanılabilir olmasını bekler ve ardından "frontend" projesinde uygun bağlantı dizesini birkaç yardımcı yöntem çağrısıyla yapılandırır:

// 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);

Daha fazla bilgi için bkz. .NET.NET Aspire düzenlemeye genel bakış.

Önemli

AddRedis çağrısı, yerel geliştirme ortamınızda yeni bir Redis kapsayıcısı oluşturur. Mevcut bir Redis örneğini kullanmayı tercih ederseniz, mevcut bir bağlantı dizesine başvurmak için AddConnectionString yöntemini kullanabilirsiniz. Daha fazla bilgi için bkz. Var olan kaynaklara başvurma.

.NET .NET Aspire tümleştirmeleri

tümleştirmeleri, veya gibi popüler hizmetlere ve platformlara bağlantıları basitleştirmek için tasarlanmış NuGet paketleridir. .NET .NET Aspire entegrasyonları, durum kontrolleri ve telemetri gibi standartlaştırılmış desenler aracılığıyla bulut kaynaklarınızı kurar ve etkileşim sağlar. Tümleştirmeler iki katlıdır: "barındırma" tümleştirmeleri bağlandığınız hizmeti temsil eder ve "istemci" tümleştirmelerini bu hizmetin istemcisini veya tüketicisini temsil eder. Başka bir deyişle, birçok barındırma paketi için kodunuz içindeki hizmet bağlantısını işleyen karşılık gelen bir istemci paketi vardır.

Her bir entegrasyon, .NET.NET Aspire uygulama konağıyla çalışacak şekilde tasarlanmıştır ve yapılandırmaları, adlandırılmış kaynaklara başvurarak otomatik olarak eklenir. Başka bir deyişle, Example.ServiceFoo, Example.ServiceBar'ü referans alıyorsa, Example.ServiceFoo, entegrasyonun gerektirdiği yapılandırmaları devralarak onların birbirleriyle otomatik olarak iletişim kurmalarını sağlar.

Örneğin, .NET.NET Aspire Service Bus tümleştirmesini kullanarak aşağıdaki kodu göz önünde bulundurun:

builder.AddAzureServiceBusClient("servicebus");

AddAzureServiceBusClient yöntemi aşağıdaki endişeleri işler:

  • DI kapsayıcısına ServiceBusClient'e bağlanmak için Azure Service Bus'ı singleton olarak kaydeder.
  • ServiceBusClient yapılandırmalarını kod ile satır içi veya yapılandırma üzerinden uygular.
  • Azure Service Bus kullanımına özgü sistem durumu denetimlerini, günlüğe kaydetmeyi ve telemetriyi etkinleştirir.

Kullanılabilir tümleştirmelerin tam listesi, .NET.NET Aspire tümleştirmeleri genel bakış sayfasında ayrıntılı olarak gösterilir.

Proje şablonları ve araçları

.NET Aspire, Visual Studio, Visual Studio Codeve .NET CLIiçin bir dizi proje şablonu ve araç deneyimi sağlar. Bu şablonlar, .NET Aspire projeleri oluşturmanıza ve bunlarla etkileşim kurmanıza veya mevcut kod tabanınıza .NET Aspire eklemenize yardımcı olmak için tasarlanmıştır. Şablonlar, hızla başlamanıza yardımcı olacak bir dizi hazır varsayılan değer içerir; örneğin, sağlık kontrollerini etkinleştirmek ve .NET uygulamalarında kayıt almak için şablon kod içerir. Bu varsayılanlar tamamen özelleştirilebilir olduğundan, bunları gereksinimlerinize uygun şekilde düzenleyebilir ve uyarlayabilirsiniz.

.NET .NET Aspire şablonları, sizin için ortak hizmet yapılandırmalarını işleyen hazır uzantı yöntemlerini de içerir.

builder.AddServiceDefaults();

AddServiceDefaults ne yaptığı hakkında daha fazla bilgi için bkz. .NET.NET Aspire hizmet varsayılanları.

Program.cs dosyanıza eklendiğinde, yukarıdaki kod aşağıdaki endişeleri işler:

  • OpenTelemetry: ASP.NET Core, gRPC ve HTTP için biçimlendirilmiş günlük kaydı, çalışma zamanı ölçümleri, yerleşik sayaçlar ve izlemeyi ayarlar. Daha fazla bilgi için bkz. .NET.NET Aspire telemetri.
  • Varsayılan sistem durumu denetimleri: Araçların uygulamanızı izlemek için sorgulayabileceğiniz varsayılan sistem durumu denetimi uç noktalarını ekler. Daha fazla bilgi için bkz. C# uygulama durumu denetimleri.
  • Hizmet bulma: Uygulama için hizmet bulma etkinleştirir ve HttpClient uygun şekilde yapılandırılır.

Sonraki adımlar