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
- Předplatné Azure – vytvořte si ho zdarma.
- Sada .NET Core SDK
Vytvoření App Configuration úložiště
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.

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

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í. Vyberte zkontrolovat + vytvořit a ověřte nastavení.
Vyberte Vytvořit. Nasazení může trvat několik minut.
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.
Vyberte Operations > Feature Manager > Přidat a přidejte příznak 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ě
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.AspNetCoredotnet add package Microsoft.FeatureManagement.AspNetCoreSpusť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 .V souboru Program.cs aktualizujte
CreateWebHostBuildermetodu tak, aby App Configuration pomocí voláníAddAzureAppConfigurationmetody .Důležité
CreateHostBuildernahrazuje vCreateWebHostBuilder.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.
V souboru Startup.cs přidejte odkaz na správce funkcí .NET Core:
using Microsoft.FeatureManagement;Aktualizujte
Startup.ConfigureServicesmetodu a přidejte podporu příznaků funkcí volánímAddFeatureManagementmetody . Volitelně můžete pomocí volání zahrnout libovolný filtr, který se má použít s příznakyAddFeatureFilter<FilterType>()funkcí:public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews(); services.AddFeatureManagement(); }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 } }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(); } }V souboru Views/_ViewImports.cshtml zaregistrujte pomocná rutina značek správce funkcí pomocí
@addTagHelperdirektivy :@addTagHelper *, Microsoft.FeatureManagement.AspNetCorePředchozí kód umožňuje použití
<feature>pomocníka značek v souborech .cshtml projektu.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>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
Pokud chcete aplikaci sestavit pomocí .NET Core CLI, spusťte v příkazovém prostředí následující příkaz:
dotnet buildPo úspěšném dokončení sestavení spusťte následující příkaz, který spustí webovou aplikaci místně:
dotnet runOtevřete okno prohlížeče a přejděte na adresu , což je výchozí adresa URL pro
http://localhost:5000mí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.
V prohlížeči by se měla zobrazit stránka podobná obrázku níže.
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.
Vyberte Správce funkcí.
Povolte příznak Beta zaškrtnutím políčka v části Povoleno.
Vraťte se do příkazového prostředí. Stisknutím kombinace kláves
dotnetCtrl+C zrušte spuštěný proces. Restartujte aplikaci pomocídotnet runpříkazu .Aktualizujte stránku prohlížeče a zobrazte nová nastavení konfigurace.
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ů.
- Přihlaste se k Azure Portala vyberte skupiny prostředků.
- Do pole filtrovat podle názvu zadejte název vaší skupiny prostředků.
- V seznamu výsledků vyberte název skupiny prostředků, aby se zobrazil přehled.
- Vyberte Odstranit skupinu prostředků.
- 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í.