Ortam başına yapılandırma değerleri sağlamak için etiketleri kullanın.

Birçok uygulamanın farklı ortamlar için farklı yapılandırmalar kullanması gerekir. Bir uygulamanın arka uç veritabanı için kullanılacak bağlantı dizesi tanımlayan bir yapılandırma değerine sahip olduğunu varsayalım. Uygulama geliştiricileri, üretimde kullanılandan farklı bir veritabanı kullanır. Uygulamanın kullandığı veritabanı bağlantı dizesi, uygulama geliştirme aşamasından üretim aşamasına geçerken değişmesi gerekir.

Azure Uygulaması Yapılandırması'nda etiketleri kullanarak aynı anahtar için farklı değerler tanımlayabilirsiniz. Örneğin, geliştirme ve üretim için farklı değerlere sahip tek bir anahtar tanımlayabilirsiniz. Uygulama Yapılandırması bağlanırken hangi etiketin yükleneceğini belirtebilirsiniz.

Bu işlevselliği göstermek için Hızlı Başlangıç: Azure Uygulaması Yapılandırması ile ASP.NET Core uygulaması oluşturma bölümünde oluşturulan web uygulamasını geliştirme ve üretim için farklı yapılandırma ayarları kullanacak şekilde değiştireceksiniz. Devam etmeden önce hızlı başlangıcı tamamlayın.

Yapılandırma değeri eklerken etiket belirtme

Azure portalında Yapılandırma Gezgini'ne gidin ve hızlı başlangıçta oluşturduğunuz TestApp:Ayarlar:FontColor anahtarını bulun. Bağlam menüsünü ve ardından Değer Ekle'yi seçin.

Add Value menu item

Değer Ekle ekranında kırmızı bir Değerve Geliştirme Etiketigirin. İçerik türünü boş bırakın. Uygula’yı seçin.

Belirtilen etiketle yapılandırma değerlerini yükleme

Varsayılan olarak, Azure Uygulaması Yapılandırması yalnızca etiket içermeyen yapılandırma değerlerini yükler. Yapılandırma değerleriniz için etiketler tanımladıysanız, Uygulama Yapılandırması bağlanırken kullanılacak etiketleri belirtmek istersiniz.

Önceki bölümde geliştirme ortamı için farklı bir yapılandırma değeri oluşturdunuz. Uygulamanın şu anda hangi ortamda çalıştığını dinamik olarak belirlemek için değişkenini kullanırsınız HostingEnvironment.EnvironmentName . Daha fazla bilgi edinmek için bkz . ASP.NET Core'da birden çok ortam kullanma.

KeyFilter ve LabelFilter sınıflarına erişmek için Microsoft.Extensions.Configuration.AzureAppConfiguration ad alanına bir başvuru ekleyin.

using Microsoft.Extensions.Configuration.AzureAppConfiguration;

Ortam adını Select yöntemine geçirerek geçerli ortama karşılık gelen etiketle yapılandırma değerlerini yükleyin:

var builder = WebApplication.CreateBuilder(args);

builder.Configuration.AddAzureAppConfiguration(options =>
    {
            options.Connect(builder.Configuration.GetConnectionString("AppConfig"))
                // Load configuration values with no label
                .Select(KeyFilter.Any, LabelFilter.Null)
                // Override with any configuration values specific to current hosting env
                .Select(KeyFilter.Any, builder.Environment.EnvironmentName);
    });

Önemli

Yukarıdaki kod parçacığı, Uygulama Yapılandırması bağlantı dizesi yüklemek için Gizli Dizi Yöneticisi aracını kullanır. Gizli Dizi Yöneticisi'ni kullanarak bağlantı dizesi depolama hakkında bilgi için bkz. ASP.NET Core ile Azure Uygulaması Yapılandırması için hızlı başlangıç.

Select yöntemi iki kez çağrılır. İlk kez, etiket olmadan yapılandırma değerlerini yükler. Ardından, geçerli ortama karşılık gelen etiketle yapılandırma değerlerini yükler. Bu ortama özgü değerler, etiket olmadan karşılık gelen değerleri geçersiz kılar. Her anahtar için ortama özgü değerler tanımlamanız gerekmez. Anahtarın geçerli ortama karşılık gelen etiketi olan bir değeri yoksa, etiketi olmayan değeri kullanır.

Farklı ortamlarda test

Dizininin launchSettings.json altındaki Properties dosyayı açın. girdisini config altında profilesbulun. environmentVariables bölümünde değişkenini ASPNETCORE_ENVIRONMENT olarak Productionayarlayın.

Yeni değerler ayarlandıysa uygulamanızı derleyin ve çalıştırın.

dotnet build
dotnet run

adresine gitmek http://localhost:5000için bir web tarayıcısı kullanın. Yazı tipi renginin siyah olduğunu fark edeceksiniz.

Web application running with production configuration

değişkenini olarak ayarlamak için Developmentgüncelleştirin.launchSettings.jsonASPNETCORE_ENVIRONMENT dotnet run komutunu yeniden çalıştırın.

Yazı tipi renginin artık kırmızı olduğunu fark edeceksiniz. Bunun nedeni, uygulamanın artık etiketi olan Development değerini TestApp:Settings:FontColor kullanmasıdır. Diğer tüm yapılandırma değerleri, üretim değerleriyle aynı kalır.

Web application running with development configuration

Sonraki adımlar