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 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:Message 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 --framework net6.0

Uygulama Yapılandırması mağazasına Bağlan

  1. Projenin TestAppConfig dizinine gidin ve bir Microsoft.Azure.AppConfiguration.AspNetCore NuGet paket başvurusu eklemek için aşağıdaki komutu çalıştırın:

    dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore
    
  2. Aşağıdaki komutu çalıştırın. komutu, Uygulama Yapılandırması deponuzun bağlantı dizesi depolayan adlı ConnectionStrings:AppConfiggizli diziyi depolamak için Gizli Dizi Yöneticisi'ni kullanır. Yer tutucuyu <your_connection_string> Uygulama Yapılandırması mağazanızın bağlantı dizesi değiştirin. bağlantı dizesi Azure portalında Uygulama Yapılandırması deponuzun Erişim Anahtarları altında bulabilirsiniz.

    dotnet user-secrets init
    dotnet user-secrets set ConnectionStrings:AppConfig "<your_connection_string>"
    

    İpucu

    Bazı kabuklar, tırnak içine alınmadığı sürece bağlantı dizesi kesecektir. Komutun çıkışının dotnet user-secrets list tüm bağlantı dizesi gösterdiğinden emin olun. Aksi takdirde komutu yeniden çalıştırın ve bağlantı dizesi tırnak içine alın.

    Gizli Dizi Yöneticisi gizli diziyi proje ağacınızın dışında depolar ve bu da gizli dizilerin kaynak kodu içinde yanlışlıkla paylaşılmasını önlemeye yardımcı olur. Yalnızca web uygulamasını yerel olarak test etmek için kullanılır. Uygulama App Service gibi Azure'a dağıtıldığında bağlantı dizesi depolamak için Bağlan ion dizelerini, Uygulama ayarlarını veya ortam değişkenlerini kullanın. Alternatif olarak, bağlantı dizesi birlikte kullanmaktan kaçınmak için yönetilen kimlikleri veya diğer Microsoft Entra kimliklerinizi kullanarak Uygulama Yapılandırması bağlanabilirsiniz.

  3. Program.cs açın ve yöntemini çağırarak Azure Uygulaması Yapılandırması'nı AddAzureAppConfiguration ek yapılandırma kaynağı olarak ekleyin.

    var builder = WebApplication.CreateBuilder(args);
    
    // Retrieve the connection string
    string connectionString = builder.Configuration.GetConnectionString("AppConfig");
    
    // Load configuration from Azure App Configuration
    builder.Configuration.AddAzureAppConfiguration(connectionString);
    
    // The rest of existing code in program.cs
    // ... ...
    

    Bu kod, bir bağlantı dizesi kullanarak Uygulama Yapılandırması deponuza bağlanır ve etiketleri olmayan tüm anahtar değerlerini yükler. Uygulama Yapılandırması sağlayıcısı hakkında daha fazla bilgi için Uygulama Yapılandırması sağlayıcı API başvurusuna bakın.

Uygulama Yapılandırması mağazasından okuma

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 Ayarlar.cs dosyası ekleyin. Kullanacağınız yapılandırma için kesin olarak belirlenmiş Settings bir sınıf 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.

    Screenshot of Azure Cloud Shell. Locate Web Preview.

    Web sayfası şöyle görünür: Screenshot of the browser.Launching quickstart app locally.

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:

  • Yeni bir Uygulama Yapılandırması deposu sağlandı.
  • Uygulama Yapılandırması sağlayıcı kitaplığı kullanılarak Uygulama Yapılandırması deponuza Bağlan.
  • Yapılandırma sağlayıcısı kitaplığıyla Uygulama Yapılandırması 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.