共用方式為


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

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

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

必要條件

新增功能旗標

將名為 Beta 的功能旗標新增至應用程式組態存放區,並保留標籤描述的預設值。 如需如何使用 Azure 入口網站或 Azure CLI 將功能旗標新增至存放區的詳細資訊,請參閱 建立功能旗標

Azure 入口網站中 [建立新功能旗標] 對話方塊的螢幕擷取畫面。名稱和索引鍵欄位包含 Beta。標籤和描述為空白。

設定存取設定

您在本快速入門中建立的應用程式會連線到您的 App Configuration 市集,以存取您的功能旗標設定。 若要連線到應用程式設定,您的應用程式可以使用 Microsoft Entra ID 或連接字串。 Microsoft Entra ID 是建議的方法。

指派 App Configuration 資料角色

根據預設,您建立的應用程式會用 DefaultAzureCredential 來向 App Configuration 存放區進行驗證。 DefaultAzureCredential 是代幣憑證鏈。 若要讓授權正常運作,您必須將 應用程式配置資料讀取者 角色授予應用程式使用的憑證。 如需指示,請參閱 使用權杖認證進行驗證。 在運行您的應用程式之前,請留出足夠的時間讓角色指派生效。

設定環境變數

您的應用程式會使用環境變數來建立與應用程式設定的連線。 使用下列其中一個命令來設定名為 Endpoint App Configuration 存放區端點的環境變數。

  • 如果您使用命令提示字元,請執行下列命令:

    setx Endpoint "<endpoint-of-your-app-configuration-store>"
    

    關閉並重新開啟命令提示字元,讓變更生效。 將環境變數的值列印到主控台,以確認已設定環境變數。

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

    [System.Environment]::SetEnvironmentVariable("Endpoint", "<endpoint-of-your-app-configuration-store>", "User")
    

建立主控台應用程式

若要使用 Visual Studio 建立新的主控台應用程式專案,請採取下列步驟。

  1. 開啟 Visual Studio。 如果它已經在執行中,請關閉並重新開啟它,以便它辨識您在上一節中設定的環境變數。

  2. 在 Visual Studio 中,選取 [檔案>新增>專案]。

  3. [建立新專案 ] 對話方塊中,在搜尋方塊中輸入 [主控台 ]。

    • 如果您想要建立 .NET 應用程式,請選取 [主控台應用程式],然後選取 [ 下一步]。
    • 如果您想要建立 .NET Framework 應用程式,請選取 [主控台應用程式 (.NET Framework)],然後選取 [ 下一步]。
  4. [設定您的新專案 ] 對話方塊中,輸入專案名稱。

    • 如果您想要建立 .NET 應用程式,請選取 [ 下一步 ] 以開啟 [其他資訊] 對話方塊。 在該對話方塊中,選取 .NET 架構,清除 [ 不使用最上層陳述式 ] 複選框,然後選取 [ 建立]。
    • 如果您想要建立 .NET Framework 應用程式,請在 [Framework] 底下選取 [.NET Framework 4.7.2 或更新版本],然後選取 [建立]。

啟用功能旗標

若要在應用程式中使用功能旗標,請執行下列步驟。

  1. [方案總管] 中,以滑鼠右鍵按一下您的專案,然後選取 [管理 NuGet 套件]。

  2. 在 [ 瀏覽] 索引標籤上,搜尋下列 NuGet 套件的最新穩定版本,並將其新增至您的專案:

    • Microsoft.Extensions.Configuration.AzureAppConfiguration
    • Microsoft.FeatureManagement
    • Azure.身分識別
  3. 開啟 Program.cs 並將下列陳述式新增至檔案的開頭。

    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    using Microsoft.FeatureManagement;
    using Azure.Identity;
    
  4. 如下列程式碼區塊所示,透過進行三項變更來更新 Program.cs

    • 若要從應用程式設定載入功能旗標,請新增對 UseFeatureFlags 方法的呼叫。
    • 若要從設定中讀取功能旗標,請建立 FeatureManager 的實例。
    • 如果已啟用 Beta 功能旗標,則會顯示訊息。

    .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!");
    }
    

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

  1. 在 Visual Studio 中,選取 Ctrl+F5 以建置並執行應用程式。 下列輸出應該會出現在主控台中。

    包含應用程式輸出的命令提示字元視窗的螢幕擷取畫面。輸出包含文字 Hello World!

  2. 登入 Azure 入口網站。 選取 [ 所有資源],然後選取您的 App Configuration 存放區。

  3. 選取 [功能管理員],找到 Beta 功能旗標。 開啟 [已啟用] 切換以啟用旗標。

  4. 再次執行應用程式。 Beta 訊息應該會出現在主控台中。

    包含應用程式輸出的命令提示字元視窗的螢幕擷取畫面。輸出包含文字「歡迎來到測試版!和你好世界!

清除資源

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

重要

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

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

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

下一步

在本快速入門中,您已在應用程式組態中建立功能旗標,並將其與主控台應用程式搭配使用。 若要瞭解如何在不重新啟動應用程式的情況下動態更新功能旗標和其他組態值,請參閱下列教學課程:

若要啟用其他類型應用程式的功能管理功能,請參閱下列快速入門:

如需 .NET 功能管理程式庫的完整功能概要,請參閱下列檔: