快速入門:將功能旗標新增至 .NET Framework 應用程式

在本快速入門中,您會將 Azure 應用程式組態納入 .NET Framework 應用程式中,以建立功能管理的端對端實作。 您可以使用應用程式組態服務來集中儲存所有功能旗標及控制其狀態。

.NET 功能功能管理程式庫可透過功能旗標支援來擴充架構。 這些程式庫會建置在 .NET 組態系統之上。 透過其 .NET 組態提供者與應用程式組態密切整合。

Prerequisites

建立應用程式組態存放區

  1. 若要建立新的應用程式組態存放區,請登入 Azure 入口網站

  2. 在首頁的左上角,選取 [建立資源] 。

  3. 在 [搜尋服務和市集] 方塊中,輸入 [應用程式組態],然後選取 [輸入]

    顯示 [搜尋應用程式組態] 頁面的螢幕擷取畫面。

  4. 從搜尋結果中選取 [應用程式設定] ,然後選取 [建立] 。

    顯示 [建立] 頁面的螢幕擷取畫面。

  5. 在 [建立應用程式組態] 窗格上,輸入下列設定:

    設定 建議的值 描述
    訂用帳戶 您的訂用帳戶 選取您要用來測試應用程式設定的 Azure 訂用帳戶。 如果您的帳戶僅有一個訂用帳戶,則會自動加以選取,而且不會顯示 [訂用帳戶] 清單。
    資源群組 AppConfigTestResources 為應用程式組態存放區資源選取或建立資源群組。 此群組可用於組織多個資源,以便能夠藉由刪除資源群組來同時刪除多個資源。 如需詳細資訊,請參閱使用資源群組管理您的 Azure 資源
    資源名稱 全域唯一的名稱 輸入要對應用程式組態存放區資源使用的唯一資源名稱。 名稱必須是介於 5 到 50 個字元的字串,且只能包含數字、字母和 - 字元。 名稱的開頭或結尾不可以是 - 字元。
    位置 美國中部 使用 [位置] 來指定裝載應用程式設定存放區所在的地理位置。 為了獲得最佳效能,請將資源建立在與應用程式其他元件相同的區域內。
    定價層 免費 選取所需的定價層。 如需詳細資訊,請參閱應用程式組態定價頁面
  6. 選取 [檢閱 + 建立] 以驗證您的設定。

  7. 選取 [建立] 。 部署可能需要幾分鐘的時間。

  8. 部署完成之後,請前往 [應用程式組態] 資源。 選取 [設定]>[存取金鑰]。 請記下連接字串的主要唯讀索引鍵。 稍後,您會使用此連接字串來設定您的應用程式,使其與您建立的應用程式組態存放區進行通訊。

  1. 選取 [功能管理員] >[+新增] ,以新增名為 Beta 的功能旗標。

    啟用名稱為 Beta 的功能旗標

    目前將 label 保留為未定義。

建立 .NET 主控台應用程式

  1. 啟動 Visual Studio,然後選取 [檔案] >[新增] >[專案] 。

  2. 在 [建立新專案] 中,依照 [主控台] 專案類型篩選,然後按一下 [主控台應用程式 (.NET Framework)] 。 按 [下一步] 。

  3. 在 [設定您的新專案] 中,輸入專案名稱。 在 [架構] 下,選取 [.NET Framework 4.8] 或更高版本。 按一下頁面底部的 [新增] 。

連線至應用程式組態存放區

  1. 以滑鼠右鍵按一下專案,然後選取 [管理 NuGet 套件] 。 在 [瀏覽] 索引標籤上,搜尋下列 NuGet 套件並新增至您的專案。

    Microsoft.Extensions.DependencyInjection
    Microsoft.Extensions.Configuration.AzureAppConfiguration
    Microsoft.FeatureManagement
    
  2. 開啟 Program.cs,並新增下列陳述式:

    using Microsoft.Extensions.DependencyInjection;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    using Microsoft.FeatureManagement;
    using System.Threading.Tasks;
    
  3. 指定 UseFeatureFlags 選項以擷取功能旗標,進而更新連線至應用程式組態的 Main 方法。 如果已啟用 Beta 功能旗標,則會顯示訊息。

        public static async Task Main(string[] args)
        {         
            IConfigurationRoot configuration = new ConfigurationBuilder()
                .AddAzureAppConfiguration(options =>
                {
                    options.Connect(Environment.GetEnvironmentVariable("ConnectionString"))
                           .UseFeatureFlags();
                }).Build();
    
            IServiceCollection services = new ServiceCollection();
    
            services.AddSingleton<IConfiguration>(configuration).AddFeatureManagement();
    
            using (ServiceProvider serviceProvider = services.BuildServiceProvider())
            {
                IFeatureManager featureManager = serviceProvider.GetRequiredService<IFeatureManager>();
    
                if (await featureManager.IsEnabledAsync("Beta"))
                {
                    Console.WriteLine("Welcome to the beta!");
                }
            }
    
            Console.WriteLine("Hello World!");
            Console.WriteLine("Press any key to continue ...");
            Console.Read();
        }
    

於本機建置並執行應用程式

  1. 將名為 ConnectionString 的環境變數設定為應用程式組態存放區的連接字串。 如果您使用 Windows 命令提示字元,請執行下列命令:

        setx ConnectionString "connection-string-of-your-app-configuration-store"
    

    如果您使用 Windows PowerShell,請執行下列命令:

        $Env:ConnectionString = "connection-string-of-your-app-configuration-store"
    
  2. 重新啟動 Visual Studio,以讓變更生效。

  3. 按 Ctrl + F5 以建置並執行主控台應用程式。

    已啟用功能旗標的應用程式

清除資源

如果您不想繼續使用本文中建立的資源,請刪除在此處建立的資源群組,以避免產生費用。

重要

刪除資源群組是無法回復的動作。 資源群組和其中的所有資源都將被永久刪除。 請確定您不會誤刪錯誤的資源群組或資源。 如果您是在包含需保留其他資源的資源群組內部,建立本文的資源,則可以從每個資源各自的窗格中個別刪除每個資源,而不必刪除整個資源群組。

  1. 登入 Azure 入口網站,然後選取 [資源群組]。
  2. 在 [依名稱篩選] 方塊中,輸入您資源群組的名稱。
  3. 在結果清單中,選取資源群組名稱以查看概觀。
  4. 選取 [刪除資源群組]。
  5. 系統將會要求您確認是否刪除資源群組。 輸入您資源群組的名稱以進行確認,然後選取 [刪除] 。

不久後,系統便會刪除該資源群組及其所有的資源。

後續步驟

在本快速入門中,您已在應用程式組態中建立功能旗標,並將其與 .NET Framework 主控台應用程式搭配使用。 若要了解如何在不重新啟動應用程式的情況下動態更新功能旗標和其他組態值,請繼續進行下一個教學課程。