Aracılığıyla paylaş


Hızlı Başlangıç: Azure Uygulaması Yapılandırması ile ASP.NET Core uygulaması oluşturma

Bu hızlı başlangıçta, Azure Uygulaması Yapılandırması'nı kullanarak ASP.NET Core uygulaması için uygulama ayarlarınızın depolamasını ve yönetimini dışlaştıracaksınız. ASP.NET Core, bir veya daha fazla yapılandırma sağlayıcısının ayarlarını kullanarak tek bir anahtar-değer tabanlı yapılandırma nesnesi oluşturur. Uygulama Yapılandırması bir .NET yapılandırma sağlayıcısı kitaplığı sunar. Bu nedenle, uygulamanız için ek yapılandırma kaynağı olarak Uygulama Yapılandırması kullanabilirsiniz. Mevcut bir uygulamanız varsa, Uygulama Yapılandırması kullanmaya başlamak için uygulama başlangıç kodunuzda yalnızca birkaç küçük değişikliğe ihtiyacınız vardır.

Önkoşullar

İpucu

Azure Cloud Shell, bu makaledeki komut satırı yönergelerini çalıştırmak için kullanabileceğiniz ücretsiz, etkileşimli bir kabukdur. .NET SDK'sı dahil olmak üzere önceden yüklenmiş yaygın Azure araçlarına sahiptir. Azure aboneliğinizde oturum açtıysanız Azure Cloud Shell'inizi shell.azure.com'dan başlatın. Belgelerimizi okuyarak Azure Cloud Shell hakkında daha fazla bilgi edinebilirsiniz

Anahtar-değer ekleme

aşağıdaki anahtar değerlerini Uygulama Yapılandırması deposuna ekleyin ve Etiket ve İçerik Türü değerlerini varsayılan değerleriyle bırakın. Azure portalını veya CLI'yı kullanarak bir depoya anahtar-değer ekleme hakkında daha fazla bilgi için Anahtar-değer oluşturma bölümüne gidin.

Anahtar Değer
TestApp:Ayarlar:BackgroundColor beyaz
TestApp:Ayarlar:FontColor siyah
TestApp:Ayarlar:FontSize 24
TestApp:Ayarlar:Mesaj Azure Uygulaması Yapılandırmasından Veriler

ASP.NET Core web uygulaması oluşturma

Yeni bir ASP.NET Core web uygulaması projesi oluşturmak için .NET komut satırı arabirimini (CLI) kullanın. Azure Cloud Shell bu araçları sizin için sağlar. Ayrıca Windows, macOS ve Linux platformları genelinde de kullanılabilir.

Yeni bir TestAppConfig klasöründe ASP.NET Core web uygulaması oluşturmak için aşağıdaki komutu çalıştırın:

dotnet new webapp --output TestAppConfig

Uygulama Yapılandırması deposuna bağlanma

Microsoft Entra Id (önerilen) veya bir bağlantı dizesi kullanarak Uygulama Yapılandırması mağazanıza bağlanın.

  1. Projenin TestAppConfig dizinine gidin ve NuGet paket başvuruları eklemek için aşağıdaki komutu çalıştırın.

    dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore
    dotnet add package Azure.Identity
    
  2. TestAppConfig klasörüne gidip aşağıdaki komutu çalıştırarak uygulama için bir kullanıcı gizli dizisi oluşturun.

    Gizli Yöneticisi, Uygulama Yapılandırması deponuzun uç noktasını depolayan Endpoints:AppConfiguration adlı bir gizli veriyi saklamak için komutu kullanır. Yer tutucusunu <your-App-Configuration-endpoint> Uygulama Yapılandırma deposunun uç noktasıyla değiştirin. Uç noktayı Azure portalında Uygulama Yapılandırması mağazanızın Genel Bakış dikey penceresinde bulabilirsiniz.

    dotnet user-secrets init
    dotnet user-secrets set Endpoints:AppConfiguration "<your-App-Configuration-endpoint>"
    
  3. Program.cs açın ve aşağıdaki ad alanlarını ekleyin:

    using Microsoft.Extensions.Configuration;
    using Microsoft.Azure.AppConfiguration.AspNetCore;
    using Azure.Identity;
    
  4. Uygulama Yapılandırması deponuza bağlanmak için AddAzureAppConfiguration dosyasındaki Program.cs yöntemini çağırın.

    Uygulama Yapılandırması deponuzda kimlik doğrulaması yapmak için DefaultAzureCredential öğesini kullanırsınız. Kimlik bilgilerinizi Uygulama Yapılandırması Veri Okuyucusu rolü atamak için yönergeleri izleyin. Uygulamanızı çalıştırmadan önce iznin yayılması için yeterli süreye izin verdiğinden emin olun.

    var builder = WebApplication.CreateBuilder(args); 
    
    // Retrieve the endpoint
    string endpoint = builder.Configuration.GetValue<string>("Endpoints:AppConfiguration")
        ?? throw new InvalidOperationException("The setting `Endpoints:AppConfiguration` was not found.");
    
    // Load configuration from Azure App Configuration 
    builder.Configuration.AddAzureAppConfiguration(options =>
    {
        options.Connect(new Uri(endpoint), new DefaultAzureCredential());
    });
    
    // The rest of existing code in program.cs
    // ... ...    
    

    Bu kod, Uygulama Yapılandırması deponuzda etiketi olmayan tüm anahtar değerlerini yükler. Uygulama Yapılandırması'dan veri yükleme hakkında daha fazla bilgi için Uygulama Yapılandırması sağlayıcı API başvurusuna bakın.

Uygulama Yapılandırma mağazasından oku

Bu örnekte, Uygulama Yapılandırması deponuzda yapılandırdığınız ayarları kullanarak bir web sayfasını içeriğini görüntüleyecek şekilde güncelleştireceksiniz.

  1. Proje dizininizin köküne bir Settings.cs dosyası ekleyin. Kullanacağınız yapılandırma için güçlü biçimde yazılan Settings sınıfını tanımlar. Ad alanını projenizin adıyla değiştirin.

    namespace TestAppConfig
    {
        public class Settings
        {
            public string BackgroundColor { get; set; }
            public long FontSize { get; set; }
            public string FontColor { get; set; }
            public string Message { get; set; }
        }
    }
    
  2. Yapılandırmadaki TestApp:Settings bölümü nesnesine Settings bağlayın.

    Program.cs aşağıdaki kodla güncelleştirin ve dosyanın başına ad alanını ekleyinTestAppConfig.

    using TestAppConfig;
    
    // Existing code in Program.cs
    // ... ...
    
    builder.Services.AddRazorPages();
    
    // Bind configuration "TestApp:Settings" section to the Settings object
    builder.Services.Configure<Settings>(builder.Configuration.GetSection("TestApp:Settings"));
    
    var app = builder.Build();
    
    // The rest of existing code in program.cs
    // ... ...
    
  3. Sayfalar dizininde Index.cshtml.cs açın ve sınıfı aşağıdaki kodla güncelleştirinIndexModel. using Microsoft.Extensions.Options Henüz orada değilse, ad alanını dosyanın başına ekleyin.

    public class IndexModel : PageModel
    {
        private readonly ILogger<IndexModel> _logger;
    
        public Settings Settings { get; }
    
        public IndexModel(IOptionsSnapshot<Settings> options, ILogger<IndexModel> logger)
        {
            Settings = options.Value;
            _logger = logger;
        }
    }
    
  4. Pages dizininde Index.cshtml dosyasını açın ve içeriği aşağıdaki kodla güncelleştirin.

    @page
    @model IndexModel
    @{
        ViewData["Title"] = "Home page";
    }
    
    <style>
        body {
            background-color: @Model.Settings.BackgroundColor;
        }
    
        h1 {
            color: @Model.Settings.FontColor;
            font-size: @(Model.Settings.FontSize)px;
        }
    </style>
    
    <h1>@Model.Settings.Message</h1>
    

Uygulamayı yerel olarak derleme ve çalıştırma

  1. Uygulamayı .NET CLI kullanarak derlemek için projenizin kök dizinine gidin. Komut kabuğunda aşağıdaki komutu çalıştırın:

    dotnet build
    
  2. Derleme başarıyla tamamlandıktan sonra web uygulamasını yerel olarak çalıştırmak için aşağıdaki komutu çalıştırın:

    dotnet run
    
  3. Komutun dotnet run çıkışı iki URL içerir. Bir tarayıcı açın ve uygulamanıza erişmek için bu URL'lerden birine gidin. Örneğin: https://localhost:5001.

    Azure Cloud Shell'de çalışıyorsanız Web Önizleme düğmesini ve ardından Yapılandır'ı seçin. Bağlantı noktasını önizleme için yapılandırmanız istendiğinde 5000 yazın ve Aç ve gözat'ı seçin.

    Azure Cloud Shell'in ekran görüntüsü. Web Önizlemesi'ni bulun.

    Web sayfası şöyle görünür: Tarayıcının ekran görüntüsü. Hızlı başlangıç uygulamasını yerel olarak başlatma.

Kaynakları temizleme

Bu makalede oluşturulan kaynakları kullanmaya devam etmek istemiyorsanız ücretlerden kaçınmak için burada oluşturduğunuz kaynak grubunu silin.

Önemli

Silinen kaynak grupları geri alınamaz. Kaynak grubu ve içindeki tüm kaynaklar kalıcı olarak silinir. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun. Bu makalenin kaynaklarını, saklamak istediğiniz diğer kaynakları içeren bir kaynak grubu içinde oluşturduysanız, kaynak grubunu silmek yerine her kaynağı ilgili bölmeden tek tek silin.

  1. Azure portalında oturum açın ve Kaynak grupları'nı seçin.
  2. Ada göre filtrele kutusuna kaynak grubunuzun adını girin.
  3. Genel bir bakış görmek için sonuç listesinde kaynak grubu adını seçin.
  4. Kaynak grubunu sil'i seçin.
  5. Kaynak grubunun silinmesini onaylamanız istenir. Onaylamak için kaynak grubunuzun adını girin ve Sil'i seçin.

Birkaç dakika sonra kaynak grubu ve tüm kaynakları silinir.

Sonraki adımlar

Bu hızlı başlangıçta şunları yapacaksınız:

  • Yeni bir Uygulama Ayarı deposu oluşturuldu.
  • Uygulama Yapılandırma sağlayıcı kitaplığını kullanarak App Configuration mağazanıza bağlandınız.
  • Yapılandırma sağlayıcısı kitaplığı ile uygulama yapılandırma deponuzun anahtar-değerlerini okuyun.
  • Uygulama Yapılandırması deponuzda yapılandırdığınız ayarları kullanarak bir web sayfası görüntülenir.

ASP.NET Core web uygulamanızı yapılandırma ayarlarını dinamik olarak yenilemek üzere yapılandırmayı öğrenmek için sonraki öğreticiye geçin.