Rychlý start: Přidání příznaků funkcí do ASP.NET Core aplikace

V tomto rychlém startu vytvoříte koncovou implementaci správy funkcí v aplikaci ASP.NET Core pomocí Azure App Configuration. Tuto službu použijete k App Configuration centrálně ukládat všechny příznaky funkcí a řídit jejich stavy.

Knihovny .NET Core Feature Management rozšiřují rozhraní o komplexní podporu příznaků funkcí. Tyto knihovny jsou postavené na konfiguračním systému .NET Core. Bezproblémově se integrují s App Configuration prostřednictvím svého poskytovatele konfigurace .NET Core.

Požadavky

Vytvoření App Configuration úložiště

  1. Pokud chcete vytvořit nové úložiště konfigurace aplikace, přihlaste se k Azure Portal. V levém horním rohu domovské stránky vyberte vytvořit prostředek. Do pole Hledat na Marketplace zadejte Konfigurace aplikace a vyberte ENTER.

    Vyhledat konfiguraci aplikace

  2. Ve výsledcích hledání vyberte Konfigurace aplikace a pak vyberte vytvořit.

    Výběr možnosti Vytvořit

  3. V podokně vytvořit konfiguraci aplikace zadejte následující nastavení:

    Nastavení Navrhovaná hodnota Popis
    Předplatné Vaše předplatné Vyberte předplatné Azure, které chcete použít k testování konfigurace aplikace. Pokud má váš účet jenom jedno předplatné, vybere se automaticky a seznam předplatných se nezobrazí.
    Skupina prostředků AppConfigTestResources Vyberte nebo vytvořte skupinu prostředků pro prostředek úložiště konfigurace aplikace. Tato skupina je užitečná k organizování více prostředků, které můžete chtít odstranit současně odstraněním skupiny prostředků. Další informace najdete v tématu použití skupin prostředků ke správě prostředků Azure.
    Název prostředku Globálně jedinečný název Zadejte jedinečný název prostředku, který se má použít pro prostředek úložiště konfigurace aplikace. Název musí být řetězec o 5 až 50 znaků a obsahovat pouze čísla, písmena a - znak. Název nesmí začínat ani končit - znakem.
    Umístění USA – střed Umístění použijte k určení geografického umístění, ve kterém je úložiště konfigurace aplikace hostované. Nejlepšího výkonu dosáhnete vytvořením prostředku ve stejné oblasti jako jiné součásti aplikace.
    Cenová úroveň Free Vyberte požadovanou cenovou úroveň. Další informace najdete na stránce s cenami konfigurace aplikací.
  4. Vyberte zkontrolovat + vytvořit a ověřte nastavení.

  5. Vyberte Vytvořit. Nasazení může trvat několik minut.

  6. Po dokončení nasazení přejděte do prostředku konfigurace aplikace. Vyberte Nastavení > Přístupové klíče. Poznamenejte si primární připojovací řetězec klíče jen pro čtení. Pomocí tohoto připojovacího řetězce později nakonfigurujete aplikaci tak, aby komunikovala s úložištěm konfigurace aplikace, které jste vytvořili.

  1. Vyberte Operations > Feature Manager > Přidat a přidejte příznak funkce s názvem Beta.

    Povolení příznaku funkce s názvem Beta

    Pole Popisek nechte prázdné. Výběrem možnosti Použít uložte příznak nové funkce.

Vytvoření webové aplikace ASP.NET Core

Pomocí rozhraní příkazového řádku .NET Core vytvořte nový projekt ASP.NET Core MVC. Výhodou použití rozhraní .NET Core CLI místo Visual Studio je, že .NET Core CLI je k dispozici napříč platformami Windows, macOS a Linux.

Spuštěním následujícího příkazu vytvořte ASP.NET Core MVC v nové složce TestFeatureFlags:

dotnet new mvc --no-https --output TestFeatureFlags

Přidat správce tajných klíčů

Nástroj s názvem správce tajných dat uchovává citlivá data pro vývojovou práci mimo strom projektu. Tento přístup pomáhá zabránit náhodnému sdílení tajných kódů aplikace ve zdrojovém kódu. Provedením následujících kroků povolíte použití Správce tajných klíčů v projektu ASP.NET Core:

Přejděte do kořenového adresáře projektu a spuštěním následujícího příkazu povolte tajné úložiště v projektu:

dotnet user-secrets init

UserSecretsIdDo souboru . csproj se přidá element obsahující identifikátor GUID:

<Project Sdk="Microsoft.NET.Sdk.Web">
    
    <PropertyGroup>
        <TargetFramework>net5.0</TargetFramework>
        <UserSecretsId>79a3edd0-2092-40a2-a04d-dcb46d5ca9ed</UserSecretsId>
    </PropertyGroup>

</Project>

Tip

Další informace o Správci tajných klíčů najdete v tématu bezpečné úložiště tajných kódů aplikací ve vývoji v ASP.NET Core.

Připojení do App Configuration úložiště

  1. Nainstalujte balíčky NuGet Microsoft.Azure.AppConfiguration.AspNetCore a Microsoft.FeatureManagement.AspNetCore spuštěním následujících příkazů:

    dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore
    
    dotnet add package Microsoft.FeatureManagement.AspNetCore
    
  2. Spusťte následující příkaz ve stejném adresáři jako soubor .csproj. Příkaz používá Secret Manager k uložení tajného klíče s názvem , který ukládá připojovací ConnectionStrings:AppConfig řetězec pro App Configuration úložiště. Zástupný text <your_connection_string> nahraďte App Configuration připojovacím řetězcem vašeho úložiště. Připojovací řetězec najdete v části Přístupové klíče v Azure Portal.

    dotnet user-secrets set ConnectionStrings:AppConfig "<your_connection_string>"
    

    Secret Manager slouží pouze k místnímu testování webové aplikace. Když je aplikace nasazená do Azure App Service , použijte k uložení připojovacího řetězce nastavení aplikace Připojovací řetězce App Service Secret Manageru.

    K tomuto tajnému klíči můžete přistupovat pomocí konfiguračního rozhraní API .NET Core. Dvojtečka ( : ) funguje v názvu konfigurace s konfiguračním rozhraním API na všech podporovaných platformách. Další informace najdete v tématu Konfigurační klíčea hodnoty .

  3. V souboru Program.cs aktualizujte CreateWebHostBuilder metodu tak, aby App Configuration pomocí volání AddAzureAppConfiguration metody .

    Důležité

    CreateHostBuilder nahrazuje v CreateWebHostBuilder .NET Core 3.x. Vyberte správnou syntaxi na základě vašeho prostředí.

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
                webBuilder.ConfigureAppConfiguration(config =>
                {
                    var settings = config.Build();
                    var connection = settings.GetConnectionString("AppConfig");
                    config.AddAzureAppConfiguration(options =>
                        options.Connect(connection).UseFeatureFlags());
                }).UseStartup<Startup>());
    

    S předchozí změnou se zprostředkovatel konfigurace pro App Configuration zaregistroval v rozhraní .NET Core Configuration API.

  4. V souboru Startup.cs přidejte odkaz na správce funkcí .NET Core:

    using Microsoft.FeatureManagement;
    
  5. Aktualizujte Startup.ConfigureServices metodu a přidejte podporu příznaků funkcí voláním AddFeatureManagement metody . Volitelně můžete pomocí volání zahrnout libovolný filtr, který se má použít s příznaky AddFeatureFilter<FilterType>() funkcí:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllersWithViews();
        services.AddFeatureManagement();
    }
    
  6. Do kořenového adresáře projektu přidejte soubor MyFeatureFlags.cs s následujícím kódem:

    namespace TestFeatureFlags
    {
        public enum MyFeatureFlags
        {
            Beta
        }
    }
    
  7. Do adresáře Controllers přidejte soubor BetaController.cs s následujícím kódem:

    using Microsoft.AspNetCore.Mvc;
    using Microsoft.FeatureManagement;
    using Microsoft.FeatureManagement.Mvc;
    
    namespace TestFeatureFlags.Controllers
    {
        public class BetaController: Controller
        {
            private readonly IFeatureManager _featureManager;
    
            public BetaController(IFeatureManagerSnapshot featureManager) =>
                _featureManager = featureManager;
    
            [FeatureGate(MyFeatureFlags.Beta)]
            public IActionResult Index() => View();
        }
    }
    
  8. V souboru Views/_ViewImports.cshtml zaregistrujte pomocná rutina značek správce funkcí pomocí @addTagHelper direktivy :

    @addTagHelper *, Microsoft.FeatureManagement.AspNetCore
    

    Předchozí kód umožňuje použití <feature> pomocníka značek v souborech .cshtml projektu.

  9. Otevřete _Layout.cshtml v adresáři Views \ Shared. Vyhledejte <nav> čárový kód v části <body> > <header> . Vložte novou značku mezi položky navigačního panelu Domovská stránka a Ochrana osobních údajů, jak je <feature> znázorněno na zvýrazněných řádcích níže.

    ms.lasthandoff: 03/29/2021
    ms.locfileid: "98663008"
    ---
    ```html
     //...
    <nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
        <div class="container">
            <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">TestFeatureFlags</a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarSupportedContent"
            aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
            </button>
            <div class="navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse">
                <ul class="navbar-nav flex-grow-1">
                    <li class="nav-item">
                        <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
                    </li>
                    <feature name="Beta">
                    <li class="nav-item">
                        <a class="nav-link text-dark" asp-area="" asp-controller="Beta" asp-action="Index">Beta</a>
                    </li>
                    </feature>
                    <li class="nav-item">
                        <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
    
  10. Vytvořte adresář Views/Beta a soubor Index.cshtml obsahující následující kód:

    @{
        ViewData["Title"] = "Beta Home Page";
    }
    
    <h1>This is the beta website.</h1>
    

Místní sestavení a spuštění aplikace

  1. Pokud chcete aplikaci sestavit pomocí .NET Core CLI, spusťte v příkazovém prostředí následující příkaz:

    dotnet build
    
  2. Po úspěšném dokončení sestavení spusťte následující příkaz, který spustí webovou aplikaci místně:

    dotnet run
    
  3. Otevřete okno prohlížeče a přejděte na adresu , což je výchozí adresa URL pro http://localhost:5000 místně hostovanou webovou aplikaci. Pokud pracujete v pracovním Azure Cloud Shell, vyberte tlačítko Náhled webu a pak Konfigurovat. Po zobrazení výzvy vyberte port 5000.

    Vyhledání tlačítka Náhled webu

    V prohlížeči by se měla zobrazit stránka podobná obrázku níže.

    Místní aplikace rychlého startu před změnou

  4. Přihlaste se k webu Azure Portal. Vyberte Všechny prostředky a vyberte instanci App Configuration, kterou jste vytvořili v rychlém startu.

  5. Vyberte Správce funkcí.

  6. Povolte příznak Beta zaškrtnutím políčka v části Povoleno.

  7. Vraťte se do příkazového prostředí. Stisknutím kombinace kláves dotnet Ctrl+C zrušte spuštěný proces. Restartujte aplikaci pomocí dotnet run příkazu .

  8. Aktualizujte stránku prohlížeče a zobrazte nová nastavení konfigurace.

    Místní aplikace rychlého startu po změně

Vyčištění prostředků

Pokud nechcete dál používat prostředky vytvořené v tomto článku, odstraňte skupinu prostředků, kterou jste tady vytvořili, abyste předešli poplatkům.

Důležité

Odstranění skupiny prostředků je nevratné. Skupina prostředků a všechny prostředky v ní se trvale odstraní. Ujistěte se, že nechtěně neodstraníte nesprávnou skupinu prostředků nebo prostředky. Pokud jste vytvořili prostředky pro tento článek v rámci skupiny prostředků, která obsahuje další prostředky, které chcete zachovat, odstraňte všechny prostředky jednotlivě z příslušného podokna, místo aby se odstranila skupina prostředků.

  1. Přihlaste se k Azure Portala vyberte skupiny prostředků.
  2. Do pole filtrovat podle názvu zadejte název vaší skupiny prostředků.
  3. V seznamu výsledků vyberte název skupiny prostředků, aby se zobrazil přehled.
  4. Vyberte Odstranit skupinu prostředků.
  5. Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Zadejte název vaší skupiny prostředků, který chcete potvrdit, a vyberte Odstranit.

Po chvíli se odstraní skupina prostředků a všechny její prostředky.

Další kroky

V tomto rychlém startu jste vytvořili nové úložiště App Configuration a použili ho ke správě funkcí ve webové aplikaci ASP.NET Core prostřednictvím knihoven Pro správu funkcí.