Skip to content

Commit 3f05abc

Browse files
update
1 parent 740f303 commit 3f05abc

File tree

1 file changed

+19
-21
lines changed

1 file changed

+19
-21
lines changed

articles/azure-app-configuration/howto-feature-filters-aspnet-core.md

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ Feature flags allow you to activate or deactivate functionality in your applicat
1818

1919
In contrast, a _conditional feature flag_ allows the feature flag to be enabled or disabled dynamically. The application may behave differently, depending on the feature flag criteria. Suppose you want to show your new feature to a small subset of users at first. A conditional feature flag allows you to enable the feature flag for some users while disabling it for others. _Feature filters_ determine the state of the feature flag each time it's evaluated.
2020

21-
The `Microsoft.FeatureManagement` library includes built-in feature filters:
21+
The `Microsoft.FeatureManagement` library includes built-in feature filters accessible from the Azure App Configuration portal.
2222

23-
- `TimeWindowFilter` enables the feature flag during a specified window of time.
24-
- `TargetingFilter` enables the feature flag for specified users and groups.
23+
- Time window filter enables the feature flag during a specified window of time.
24+
- Targeting filter enables the feature flag for specified users and groups.
2525

2626
You can also create your own feature filter that implements the `Microsoft.FeatureManagement.IFeatureFilter` interface. For more information, see [Implementing a Feature Filter](https://github.com/microsoft/FeatureManagement-Dotnet#implementing-a-feature-filter).
2727

@@ -30,41 +30,37 @@ You can also create your own feature filter that implements the `Microsoft.Featu
3030
- Follow the instructions in [Quickstart: Add feature flags to an ASP.NET Core app](./quickstart-feature-flag-aspnet-core.md) to create a web app with a feature flag.
3131
- Install the [`Microsoft.FeatureManagement.AspNetCore`](https://www.nuget.org/packages/Microsoft.FeatureManagement.AspNetCore/) package of version **3.0.0** or later.
3232

33-
## Set up feature management
33+
## Register a feature filter
3434

35-
Since `Microsoft.FeatureManagement` 3.0.0, built-in filters, except for the `TargetingFilter`, are added automatically when feature management is registered. For more information on using `TargetingFilter`, see [Enable staged rollout of features for targeted audiences](./howto-targetingfilter-aspnet-core.md).
35+
If you have a [custom feature filter](https://github.com/microsoft/FeatureManagement-Dotnet#implementing-a-feature-filter), you can register it by calling the `AddFeatureFilter` method.
3636

3737
```csharp
38-
services.AddFeatureManagement();
38+
services.AddFeatureManagement()
39+
.AddFeatureFilter<MyCriteriaFilter>();
3940
```
4041

41-
> [!TIP]
42-
> You can create your own feature filter that implements the `Microsoft.FeatureManagement.IFeatureFilter` interface. The feature filter can be registered by calling the `AddFeatureFilter` method. For built-in feature filters, calling `AddFeatureFilter` is no longer needed since `Microsoft.FeatureManagement` 3.0.0.
43-
>
44-
> ```csharp
45-
> services.AddFeatureManagement()
46-
> .AddFeatureFilter<MyCriteriaFilter>();
47-
> ```
42+
Starting with version *3.0.0* of `Microsoft.FeatureManagement`, the following built-in filters are registered automatically as part of the `AddFeatureManagement` call, so you don't need to register them.
4843

49-
## Configure a feature filter in Azure App Configuration
44+
> [!TIP]
45+
> For more information on using `TargetingFilter`, see [Enable staged rollout of features for targeted audiences](./howto-targetingfilter-aspnet-core.md).
5046
51-
Some feature filters have additional settings. For example, `TimeWindowFilter` activates a feature based on a time window. It has settings defining the time window to use.
47+
## Add a feature filter to a feature flag
5248

53-
You can configure these settings for feature flags defined in Azure App Configuration. For example, follow these steps to use `TimeWindowFilter` to activate the feature flag at a certain moment:
49+
In this section, you will learn how to add a feature filter to the **Beta** feature flag you created in the [Quickstart](./quickstart-feature-flag-aspnet-core.md). The following steps use the built-in `TimeWindowFilter` as an example.
5450

5551
1. In the Azure portal, go to your configuration store and select **Feature manager**.
5652

57-
:::image type="content" source="./media/feature-filters/edit-beta-feature-flag.png" alt-text="Screenshot of the Azure portal, selecting the Edit option for the Beta feature flag, under Feature manager.":::
53+
:::image type="content" source="./media/feature-filters/edit-beta-feature-flag.png" alt-text="Screenshot of the Azure portal, selecting the Edit option for the **Beta** feature flag, under Feature manager.":::
5854

59-
1. On the line with the Beta feature flag you created in the quickstart, select the context menu and then **Edit**.
55+
1. On the line with the **Beta** feature flag you created in the quickstart, select the context menu and then **Edit**.
6056

6157
1. In the **Edit feature flag** pane that opens, check the **Enable feature flag** checkbox if it isn't already enabled. Then check the **Use feature filter** checkbox and select **Create**.
6258

6359
:::image type="content" source="./media/feature-filters/edit-a-feature-flag.png" alt-text="Screenshot of the Azure portal, filling out the form 'Edit feature flag'.":::
6460

65-
1. The pane **Create a new filter** opens. Under **Filter type**, select **Time window filter** to enable a new filter for a specific time window.
61+
1. The pane **Create a new filter** opens. Under **Filter type**, select **Time window filter**.
6662

67-
1. Set the **Expiry date** to **Never** and set the **Start date** to 10 minutes ahead of the current time. For example, if the current time is 1:50 PM on February 28, 2024, please set the time to 10 minutes later, which would be 2:00 PM.
63+
1. Set the **Start date** to **Custom** and select a time a few minutes ahead of your current time. Set the **Expiry date** to **Never**
6864

6965
:::image type="content" source="./media/feature-filters/add-time-window-filter.png" alt-text="Screenshot of the Azure portal, creating a new time window filter.":::
7066

@@ -80,7 +76,9 @@ You can configure these settings for feature flags defined in Azure App Configur
8076

8177
## Feature filters in action
8278

83-
To see the effects of this feature flag, launch the application. You'll see that the *Beta* item will not appears on the toolbar. It's hidden, because the `TimeWindowFilter` deactivates the *Beta* feature. After about 10 minutes, click the refresh button in you browser and you'll see the *Beta* item will appear again because the `TimeWindowFilter` will activate the *Beta* feature when time hits the time window.
79+
Relaunch the application you created in the [Quickstart](./quickstart-feature-flag-aspnet-core.md). If your current time is earlier than the start time set for the time window filter, the **Beta** menu item will not appear on the toolbar. This is because the **Beta** feature flag is disabled by the time window filter.
80+
81+
Once the start time has passed, refresh your browser a few times. You will notice that the **Beta** menu item will now appear. This is because the **Beta** feature flag is now enabled by the time window filter.
8482

8583
## Next steps
8684

0 commit comments

Comments
 (0)