Öğretici: Bir uygulamanın dinamik .NET Framework kullanma
Uygulama Yapılandırması'nın verileri, bir uygulamanın Ayarlar App .NET Framework yüklenebilir. Daha fazla bilgi için bkz. hızlı başlangıç. Ancak, uygulama tarafından .NET Framework, App Ayarlar yalnızca uygulama yeniden başlatıldığında yenilenir. Uygulama Yapılandırması .NET sağlayıcısı bir .NET Standard kitaplığıdır. Uygulama yeniden başlatma olmadan yapılandırmayı dinamik olarak önbelleğe almayı ve yenilemeyi destekler. Bu öğretici, bir konsol uygulamasında dinamik yapılandırma güncelleştirmelerini .NET Framework gösterir.
Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:
- Uygulama Yapılandırma .NET Framework değişikliklerine yanıt olarak yapılandırmasını güncelleştirmek için uygulama uygulamanızı ayarlayın.
- Uygulamanıza en son yapılandırmayı ekleme.
Önkoşullar
- Azure aboneliği - ücretsiz bir abonelik oluşturun
- Visual Studio
- .NET Framework 4.7.2 veya sonraki bir
Uygulama Yapılandırma deposu oluşturma
Yeni bir uygulama yapılandırma deposu oluşturmak için Azure Portaloturum açın. Giriş sayfasının sol üst köşesinde kaynak oluştur' u seçin. Market 'te Ara kutusuna uygulama yapılandırması ' nı girin ve ENTER' u seçin.

Arama sonuçlarından uygulama yapılandırması ' nı seçin ve ardından Oluştur' u seçin.

Uygulama yapılandırması oluştur bölmesinde, aşağıdaki ayarları girin:
Ayar Önerilen değer Açıklama Abonelik Aboneliğiniz Uygulama yapılandırmasını test etmek için kullanmak istediğiniz Azure aboneliğini seçin. Hesabınızda yalnızca bir abonelik varsa, bu otomatik olarak seçilir ve abonelik listesi gösterilmez. Kaynak grubu AppConfigTestResources Uygulama yapılandırma deposu kaynağınız için bir kaynak grubu seçin veya oluşturun. Bu grup, kaynak grubunu silerek aynı anda silmek isteyebileceğiniz birden çok kaynağı düzenlemek için yararlıdır. Daha fazla bilgi için Azure kaynaklarınızı yönetmek için kaynak gruplarını kullanma konusunu inceleyin. Kaynak adı Genel olarak benzersiz bir ad Uygulama yapılandırma deposu kaynağı için kullanılacak benzersiz bir kaynak adı girin. Ad, 5 ila 50 karakter arasında bir dize olmalı ve yalnızca rakam, harf ve -karakter içermelidir. Ad, karakteriyle başlayamaz veya bitemez-.Konum Central US Uygulama yapılandırma deponuzın barındırıldığı coğrafi konumu belirtmek için konum ' i kullanın. En iyi performansı elde etmek için, kaynağı uygulamanızın diğer bileşenleriyle aynı bölgede oluşturun. Fiyatlandırma katmanı Ücretsiz İstediğiniz fiyatlandırma katmanını seçin. Daha fazla bilgi için bkz. uygulama yapılandırma fiyatlandırma sayfası. Ayarlarınızı doğrulamak için gözden geçir + oluştur ' u seçin.
Oluştur’u seçin. Dağıtım birkaç dakika sürebilir.
Dağıtım bittikten sonra uygulama yapılandırma kaynağına gidin. Ayarlar > Erişim anahtarları öğesini seçin. Birincil salt okunurdur anahtar bağlantı dizesini bir yere unutmayın. Uygulamanızı oluşturduğunuz uygulama yapılandırma deposuyla iletişim kuracak şekilde yapılandırmak için bu bağlantı dizesini daha sonra kullanacaksınız.
Aşağıdaki anahtar-değeri > eklemek için Yapılandırma gezgini + > Anahtar-değer Oluştur'a tıklayın:
Anahtar Değer TestApp:Ayarlar:Message Azure Uygulama Yapılandırması'dan veriler Etiket ve İçerik Türü'leri boş bırakın.
.NET Framework konsol uygulaması oluşturma
Yeni Visual Studio ve Yeni proje oluştur'a seçin.
Yeni proje oluştur'da Konsol proje türünü filtrelenin ve proje şablonu listesinden C# ile Konsol Uygulaması (.NET Framework) öğesini seçin. Sonraki'ne basın.
Yeni projenizi yapılandırma alanına bir proje adı girin. Framework altında, 4.7.2 veya .NET Framework'ı seçin. Oluştur’a basın.
Uygulama Yapılandırmasından verileri yeniden yükleme
Projenize sağ tıklayın ve Paketleri Yönet'NuGet seçin. Gözat sekmesinde aşağıdaki paket paketinin en son sürümünü NuGet ekleyin.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Program.cs'yi açın ve aşağıdaki ad alanlarını ekleyin.
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.AzureAppConfiguration;Yapılandırmayla ilgili nesneleri depolamak için iki değişken ekleyin.
private static IConfiguration _configuration; private static IConfigurationRefresher _refresher;Belirtilen yenileme
Mainseçenekleriyle Uygulama Yapılandırmasına bağlanmak için yöntemini güncelleştirin.static void Main(string[] args) { var builder = new ConfigurationBuilder(); builder.AddAzureAppConfiguration(options => { options.Connect(Environment.GetEnvironmentVariable("ConnectionString")) // Load all keys that start with `TestApp:`. .Select("TestApp:*") // Configure to reload the key 'TestApp:Settings:Message' if it is modified. .ConfigureRefresh(refresh => { refresh.Register("TestApp:Settings:Message") .SetCacheExpiration(TimeSpan.FromSeconds(10)); }); _refresher = options.GetRefresher(); }); _configuration = builder.Build(); PrintMessage().Wait(); }ConfigureRefreshyönteminde, Uygulama Yapılandırma mağazanız içindeki bir anahtar değişiklik izleme için kaydedilir. yöntemi, kayıtlı anahtar değişirse tüm yapılandırma değerlerinin yenilenmesi gerekip gerek olmadığını belirtmek için kullanılanRegisteristeğe bağlı bir boolerefreshAllparametresine sahiptir. Bu örnekte yalnızca TestApp:Ayarlar:Message anahtarı yenilenir. yöntemi, herhangi bir yapılandırma değişikliğini kontrol etmek için Uygulama Yapılandırması'ya yeni bir istekte gelmeden önce geçenSetCacheExpirationen düşük zamanı belirtir. Bu örnekte, tanıtım amacıyla yerine 10 saniyelik bir süre belirterek varsayılan süre sonu olan 30 saniyeyi geçersiz kılarsınız.Uygulama Yapılandırması'dan
PrintMessage()yapılandırma verilerini yenilemeyi tetikleyen adlı bir yöntem ekleyin.private static async Task PrintMessage() { Console.WriteLine(_configuration["TestApp:Settings:Message"] ?? "Hello world!"); // Wait for the user to press Enter Console.ReadLine(); await _refresher.TryRefreshAsync(); Console.WriteLine(_configuration["TestApp:Settings:Message"] ?? "Hello world!"); }Yöntemin
ConfigureRefreshtek başına çağrılarak yapılandırmanın otomatik olarak yenilenmesine neden olmayacaktır. YenilemeyiTryRefreshAsynctetiklemek içinIConfigurationRefresherarabiriminden yöntemini çağırabilirsiniz. Bu tasarım, uygulama boşta olduğunda bile Uygulama Yapılandırmasına gönderilen isteklerden kaçınmaktır. Çağrıyı,TryRefreshAsyncuygulamanızı etkin olarak kabul ettiyebilirsiniz. Örneğin, gelen iletiyi, siparişi veya karmaşık bir görevin yinelemesini işleyebilirsiniz. Ayrıca, uygulamanız her zaman etkinse bir zamanlayıcıda da olabilir. Bu örnekte Enter tuşunaTryRefreshAsyncbasarak çağrısında bulunduruz. Çağrı herhangi bir nedenle başarısızTryRefreshAsyncolsa bile, uygulamanın önbelleğe alınmış yapılandırmayı kullanmaya devam edeceğini unutmayın. Yapılandırılan önbellek süre sonu süresi sona erer ve çağrı, uygulama etkinliğiniz tarafından yeniden tetiklendiğindeTryRefreshAsyncbaşka bir deneme yapılır. Çağrısı, yapılandırılan önbellek süre sonu süresi dolmadan önce bir operasyon değil, bu nedenle sık çağrılsa bile performans etkisiTryRefreshAsyncen düşük düzeydedir.
Uygulamayı yerel olarak derleme ve çalıştırma
ConnectionString adlı bir ortam değişkenini, Uygulama Yapılandırma deposu oluşturma işlemi sırasında alınan salt okunur anahtar bağlantı dizesine ayarlayın.
Komut istemini Windows aşağıdaki komutu çalıştırın:
setx ConnectionString "connection-string-of-your-app-configuration-store"Aşağıdaki komutu Windows PowerShell çalıştırın:
$Env:ConnectionString = "connection-string-of-your-app-configuration-store"Değişikliğin Visual Studio izin vermek için yeniden başlatın.
Konsol uygulamasını derlemek ve çalıştırmak için Ctrl + F5 tuşlarına basın.

Uygulama Azure portal, Uygulama Yapılandırma mağazanızı yapılandırma gezginine gidin ve aşağıdaki anahtarın değerini güncelleştirin.
Anahtar Değer TestApp:Ayarlar:Message Azure Uygulama Yapılandırması Verileri - Güncelleştirildi Çalışan uygulamaya geri dönüp Enter tuşuna basarak yenilemeyi tetikleyin ve güncelleştirilmiş değeri Komut İstemi veya PowerShell penceresinde yazdırın.

Not
Yenileme işlemi için yapılandırma belirtiliyorken yöntemi kullanılarak önbellek süre sonu 10 saniye olarak ayarlandı, yapılandırma ayarına yönelik değer yalnızca bu ayar için son yenilemeden bu yana en az 10 saniye geçmişse
SetCacheExpirationgüncelleştirilir.
Kaynakları temizleme
Bu makalede oluşturulan kaynakları kullanmaya devam etmek istemiyorsanız, ücretlendirmemek 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 makaleye ait kaynakları tutmak istediğiniz diğer kaynakları içeren bir kaynak grubu içinde oluşturduysanız, kaynak grubunu silmek yerine her kaynağı ilgili bölmeden ayrı ayrı silin.
- Azure Portaloturum açın ve kaynak grupları' nı seçin.
- Ada göre filtrele kutusuna kaynak grubunuzun adını girin.
- Sonuç listesinde, bir genel bakışı görmek için kaynak grubu adını seçin.
- Kaynak grubunu sil'i seçin.
- 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 öğreticide, Uygulama Yapılandırması'.NET Framework dinamik olarak yenilemek için uygulama uygulamanızı etkinleştirdiniz. ASP.NET Web Uygulamasında (.NET Framework) dinamik yapılandırmayı etkinleştirmeyi öğrenmek için sonraki öğreticiye devam edin:
Uygulama Yapılandırmasına erişimi basit hale getirmek için Azure yönetilen kimliğini kullanmayı öğrenmek için sonraki öğreticiye devam edin: