快速入門:將功能旗標新增至 .NET/.NET Framework 主控台應用程式
在本快速入門中,您會將 Azure 應用程式組態納入 .NET 主控台應用程式中,以建立功能管理的端對端實作。 您可以使用應用程式組態服務來集中儲存所有功能旗標及控制其狀態。
.NET 功能功能管理程式庫可透過功能旗標支援來擴充架構。 這些程式庫會建置在 .NET 組態系統之上。 透過其 .NET 組態提供者與應用程式組態密切整合。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立一個。
- 應用程式組態存放區。 建立存放區。
- Visual Studio
- .NET 控制台應用程式的 .NET SDK 6.0 或更新版本。
- .NET Framework 控制台應用程式的 .NET Framework 4.7.2 或更新版本。
新增功能旗標
將名為 Beta 的功能旗標新增至應用程式組態存放區,並保留標籤和描述的預設值。 如需如何使用 Azure 入口網站或 CLI 將功能旗標新增至存放區的詳細資訊,請移至建立功能旗標。
建立主控台應用程式
您可以使用 Visual Studio 建立新的主控台應用程式專案。
啟動 Visual Studio,然後選取 [檔案]>[新增]>[專案]。
在 [建立新專案] 中,依照 [主控台] 專案類型篩選,然後選取 [主控台應用程式]。 如果您想要建立 .NET Framework 應用程式,請改為選取 [控制台應用程式] [.NET Framework]。 按一下 [下一步] 。
在 [設定您的新專案] 中,輸入專案名稱。 如果您要建立 .NET Framework 應用程式,請在 [Framework] 底下選取 [.NET Framework 4.7.2 或更高版本]。 按一下 [建立]。
啟用功能旗標
以滑鼠右鍵按一下專案,然後選取 [管理 NuGet 套件]。 在 [ 流覽] 索引標籤上,搜尋並新增下列 NuGet 套件的最新穩定版本至您的專案。
Microsoft.Extensions.Configuration.AzureAppConfiguration Microsoft.FeatureManagement Azure.Identity
開啟 Program.cs,並新增下列陳述式。
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.AzureAppConfiguration; using Microsoft.FeatureManagement; using Azure.Identity;
更新Program.cs檔案,並新增 方法的呼叫
UseFeatureFlags
,以從 應用程式組態 載入功能旗標。 然後建立FeatureManager
以從組態讀取功能旗標。 最後,如果 已啟用 Beta 功能旗標,則顯示訊息。您可以使用 Microsoft Entra ID 或 連接字串 連線到您的 應用程式組態 存放區。
根據預設,您可以使用
DefaultAzureCredential
來向 應用程式組態 存放區進行驗證。 請遵循指示,將認證指派給 應用程式組態 數據讀取者角色。 在執行應用程式之前,請務必允許足夠的時間來傳播許可權。.NET
IConfiguration configuration = new ConfigurationBuilder() .AddAzureAppConfiguration(options => { string endpoint = Environment.GetEnvironmentVariable("Endpoint"); options.Connect(new Uri(endpoint), new DefaultAzureCredential()); .UseFeatureFlags(); }).Build(); var featureManager = new FeatureManager( new ConfigurationFeatureDefinitionProvider(configuration)); if (await featureManager.IsEnabledAsync("Beta")) { Console.WriteLine("Welcome to the beta!"); } Console.WriteLine("Hello World!");
.NET Framework
public static async Task Main(string[] args) { IConfiguration configuration = new ConfigurationBuilder() .AddAzureAppConfiguration(options => { string endpoint = Environment.GetEnvironmentVariable("Endpoint"); options.Connect(new Uri(endpoint), new DefaultAzureCredential()); .UseFeatureFlags(); }).Build(); var featureManager = new FeatureManager( new ConfigurationFeatureDefinitionProvider(configuration)); if (await featureManager.IsEnabledAsync("Beta")) { Console.WriteLine("Welcome to the beta!"); } Console.WriteLine("Hello World!"); }
於本機建置並執行應用程式
將名為 ConnectionString 的環境變數設定為應用程式組態存放區的連接字串。
如果您使用 Windows 命令提示字元,請執行下列命令。
setx ConnectionString "<connection-string-of-your-app-configuration-store>"
重新啟動命令提示字元,讓變更生效。 藉由列印環境變數的值來驗證它是否已正確設定。
重新啟動 Visual Studio,以讓變更生效。
按 [Ctrl+F5] 以建置並執行應用程式。
您應該會在主控台中看到下列輸出。
登入 Azure 入口網站。 選取 [所有資源],然後選取您之前建立的應用程式設定存放區。
選取 [功能管理員],找到 Beta 功能旗標。 選取 [啟用] 下的核取方塊,以啟用旗標。
再次執行應用程式。 您應該會在控制台中看到 Beta 訊息。
清除資源
如果您不想繼續使用本文中建立的資源,請刪除在此處建立的資源群組,以避免產生費用。
重要
刪除資源群組是無法回復的動作。 資源群組和其中的所有資源都將被永久刪除。 請確定您不會誤刪錯誤的資源群組或資源。 如果您是在包含需保留其他資源的資源群組內部,建立本文的資源,則可以從每個資源各自的窗格中個別刪除每個資源,而不必刪除整個資源群組。
- 登入 Azure 入口網站,然後選取 [資源群組]。
- 在 [依名稱篩選] 方塊中,輸入您資源群組的名稱。
- 在結果清單中,選取資源群組名稱以查看概觀。
- 選取 [刪除資源群組]。
- 系統將會要求您確認是否刪除資源群組。 輸入您資源群組的名稱以進行確認,然後選取 [刪除]。
不久後,系統便會刪除該資源群組及其所有的資源。
下一步
在本快速入門中,您已在應用程式組態中建立功能旗標,並將其與主控台應用程式搭配使用。 若要了解如何在不重新啟動應用程式的情況下動態更新功能旗標和其他組態值,請繼續進行下一個教學課程。
若要啟用其他類型應用程式的功能管理功能,請繼續下列教學課程。
如需 .NET 功能管理程式庫的完整功能摘要,請繼續參閱下列文件。