Inicio rápido: Agregar marcas de características a una aplicación en .NET FrameworkQuickstart: Add feature flags to a .NET Framework app

En este inicio rápido, incorporará Azure App Configuration en una aplicación en .NET Framework para crear una implementación de un extremo a otro de administración de características.In this quickstart, you incorporate Azure App Configuration into a .NET Framework app to create an end-to-end implementation of feature management. Puede usar el servicio App Configuration para almacenar en una ubicación central todas las marcas de características y controlar sus estados.You can use the App Configuration service to centrally store all your feature flags and control their states.

Las bibliotecas de administración de características de .NET amplían la plataforma con compatibilidad con las marcas de características.The .NET Feature Management libraries extend the framework with feature flag support. Estas bibliotecas se compilan a partir del sistema de configuración de .NET.These libraries are built on top of the .NET configuration system. Se integran con App Configuration mediante su proveedor de configuración de .NET.They integrate with App Configuration through its .NET configuration provider.

Requisitos previosPrerequisites

Creación de un almacén de App ConfigurationCreate an App Configuration store

  1. Para crear un almacén de App Configuration, inicie sesión en Azure Portal.To create a new App Configuration store, sign in to the Azure portal. En la esquina superior izquierda de la página principal, seleccione Crear un recurso.In the upper-left corner of the home page, select Create a resource. En el cuadro Buscar en Marketplace, escriba App Configuration y presione Entrar.In the Search the Marketplace box, enter App Configuration and select Enter.

    Buscar App Configuration

  2. Seleccione Configuración de la aplicación en los resultados de la búsqueda y, después, Crear.Select App Configuration from the search results, and then select Create.

    Seleccionar Crear

  3. En el panel Crear de App Configuration, introduzca la siguiente configuración:On the Create App Configuration pane, enter the following settings:

    ConfiguraciónSetting Valor sugeridoSuggested value DescripciónDescription
    SuscripciónSubscription Su suscripciónYour subscription Seleccione la suscripción de Azure que desee usar para probar App Configuration.Select the Azure subscription that you want to use to test App Configuration. Si su cuenta solo tiene una suscripción, se selecciona automáticamente y la lista Suscripción no aparece.If your account has only one subscription, it's automatically selected and the Subscription list isn't displayed.
    Grupos de recursosResource group AppConfigTestResourcesAppConfigTestResources Seleccione o cree un grupo de recursos para el recurso del almacén de App Configuration.Select or create a resource group for your App Configuration store resource. Este grupo es útil para organizar los distintos recursos que quiera eliminar al mismo tiempo mediante la eliminación del grupo de recursos.This group is useful for organizing multiple resources that you might want to delete at the same time by deleting the resource group. Para más información, consulte Administración de los recursos de Azure a través del Portal.For more information, see Use resource groups to manage your Azure resources.
    Nombre del recursoResource name Nombre único globalmenteGlobally unique name Escriba un nombre de recurso único para usarlo como recurso de almacén de App Configuration.Enter a unique resource name to use for the App Configuration store resource. El nombre debe ser una cadena de entre 5 y 50 caracteres y solo puede contener números, letras y el carácter -.The name must be a string between 5 and 50 characters and contain only numbers, letters, and the - character. El nombre no puede comenzar ni terminar con el carácter -.The name can't start or end with the - character.
    UbicaciónLocation Centro de EE. UU.Central US Use Ubicación para especificar la ubicación geográfica en la que se hospeda el almacén de App Configuration.Use Location to specify the geographic location in which your app configuration store is hosted. Para optimizar el rendimiento, cree el recurso en la misma región que los demás componentes de la aplicación.For the best performance, create the resource in the same region as other components of your application.
    Plan de tarifaPricing tier GratisFree Seleccione el plan de tarifa deseado.Select the desired pricing tier. Para más información, consulte la página de precios de App Configuration.For more information, see the App Configuration pricing page.
  4. Seleccione Revisar y crear para validar la configuración.Select Review + create to validate your settings.

  5. Seleccione Crear.Select Create. La implementación puede tardar unos minutos.The deployment might take a few minutes.

  6. Una vez finalizada la implementación, vaya al recurso de App Configuration.After the deployment finishes, navigate to the App Configuration resource. Seleccione Configuración > Claves de acceso.Select Settings > Access keys. Tome nota de la cadena de conexión de la clave de solo lectura principal.Make a note of the primary read-only key connection string. Usará esta cadena de conexión más adelante para configurar la aplicación y que se comunique con el almacén de Azure App Configuration que ha creado.You'll use this connection string later to configure your application to communicate with the App Configuration store that you created.

  1. Seleccione Administrador de características > +Agregar para agregar una marca de características denominada Beta.Select Feature Manager > +Add to add a feature flag called Beta.

    Habilitación de la marca de característica denominada BetaEnable feature flag named Beta

    Deje label sin definir por ahora.Leave label undefined for now.

Creación de una aplicación de consola de .NETCreate a .NET console app

  1. Inicie Visual Studio y seleccione Archivo > Nuevo > Proyecto.Start Visual Studio, and select File > New > Project.

  2. En Crear un proyecto, filtre por el tipo de proyecto Consola y haga clic en Aplicación de consola (.NET Framework) .In Create a new project, filter on the Console project type and click on Console App (.NET Framework). Haga clic en Next.Click Next.

  3. En Configurar el nuevo proyecto, asígnele al proyecto un nombre.In Configure your new project, enter a project name. En Marco, seleccione .NET Framework 4.8 o una versión posterior.Under Framework, select .NET Framework 4.8 or higher. Haga clic en Crear.Click Create.

Conexión a un almacén de App ConfigurationConnect to an App Configuration store

  1. Haga clic con el botón derecho en el proyecto y seleccione Administrar paquetes NuGet.Right-click your project, and select Manage NuGet Packages. En la pestaña Examinar, busque y agregue los siguientes paquetes NuGet al proyecto.On the Browse tab, search and add the following NuGet packages to your project. Si no los encuentra, seleccione la casilla Incluir versión preliminar.If you can't find them, select the Include prerelease check box.

    Microsoft.Extensions.DependencyInjection
    Microsoft.Extensions.Configuration.AzureAppConfiguration
    Microsoft.FeatureManagement
    
  2. Abra el archivo Program.cs y agregue las siguientes instrucciones:Open Program.cs and add the following statements:

    using Microsoft.Extensions.DependencyInjection;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    using Microsoft.FeatureManagement;
    using System.Threading.Tasks;
    
  3. Actualice el método Main para conectarse a App Configuration y especifique la opción UseFeatureFlags para que se recuperen las marcas de características.Update the Main method to connect to App Configuration, specifying the UseFeatureFlags option so that feature flags are retrieved. A continuación, muestre un mensaje si la marca de característica Beta está habilitada.Then display a message if the Beta feature flag is enabled.

        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();
        }
    

Compilación y ejecución de la aplicación en un entorno localBuild and run the app locally

  1. Establezca una variable de entorno llamada ConnectionString en la cadena de conexión del almacén de App Configuration.Set an environment variable named ConnectionString to the connection string of your App Configuration store. Si usa el símbolo del sistema de Windows, ejecute el siguiente comando:If you use the Windows command prompt, run the following command:

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

    Si usa Windows PowerShell, ejecute el siguiente comando:If you use Windows PowerShell, run the following command:

        $Env:ConnectionString = "connection-string-of-your-app-configuration-store"
    
  2. Reinicie Visual Studio para permitir que el cambio surta efecto.Restart Visual Studio to allow the change to take effect.

  3. Presione Ctrl + F5 para compilar y ejecutar la aplicación de consola.Press Ctrl + F5 to build and run the console app.

    Aplicación con marca de característica habilitada

Limpieza de recursosClean up resources

Si no desea seguir usando los recursos creados en este artículo, elimine el grupo de recursos que creó aquí para evitar cargos.If you do not want to continue using the resources created in this article, delete the resource group you created here to avoid charges.

Importante

La eliminación de un grupo de recursos es irreversible.Deleting a resource group is irreversible. El grupo de recursos y todos los recursos que contiene se eliminan permanentemente.The resource group and all the resources in it are permanently deleted. Asegúrese de no eliminar por accidente el grupo de recursos o los recursos equivocados.Make sure that you don't accidentally delete the wrong resource group or resources. Si creó los recursos para este artículo en un grupo de recursos que contenga los recursos que desee conservar, elimine cada recurso de forma individual desde su panel respectivo, en lugar de eliminar el grupo de recursos.If you created the resources for this article inside a resource group that contains other resources you want to keep, delete each resource individually from its respective pane instead of deleting the resource group.

  1. Inicie sesión en Azure Portal y después seleccione Grupos de recursos.Sign in to the Azure portal, and select Resource groups.
  2. En el cuadro de texto Filtrar por nombre, escriba el nombre del grupo de recursos.In the Filter by name box, enter the name of your resource group.
  3. En la lista resultados, seleccione el nombre del grupo de recursos para ver la información general.In the result list, select the resource group name to see an overview.
  4. Seleccione Eliminar grupo de recursos.Select Delete resource group.
  5. Se le pedirá que confirme la eliminación del grupo de recursos.You're asked to confirm the deletion of the resource group. Escriba el nombre del grupo de recursos para confirmar y seleccione Eliminar.Enter the name of your resource group to confirm, and select Delete.

Transcurridos unos instantes, el grupo de recursos y todos sus recursos se eliminan.After a few moments, the resource group and all its resources are deleted.

Pasos siguientesNext steps

En este inicio rápido, ha creado una marca de característica en App Configuration y la ha usado con una aplicación de consola en .NET Framework.In this quickstart, you created a feature flag in App Configuration and used it with a .NET Framework console app. Para obtener información sobre cómo actualizar dinámicamente las marcas de características y otros valores de configuración sin necesidad de reiniciar la aplicación, continúe con el tutorial siguiente.To learn how to dynamically update feature flags and other configuration values without restarting the application, continue to the next tutorial.