diff --git a/src/Microsoft.FeatureManagement/FeatureFilters/PercentageFilter.cs b/src/Microsoft.FeatureManagement/FeatureFilters/PercentageFilter.cs index c1d4b9a5..c986e6d9 100644 --- a/src/Microsoft.FeatureManagement/FeatureFilters/PercentageFilter.cs +++ b/src/Microsoft.FeatureManagement/FeatureFilters/PercentageFilter.cs @@ -4,6 +4,7 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; using Microsoft.FeatureManagement.Utils; +using System; using System.Threading.Tasks; namespace Microsoft.FeatureManagement.FeatureFilters @@ -43,6 +44,11 @@ public object BindParameters(IConfiguration filterParameters) /// True if the feature is enabled, false otherwise. public Task EvaluateAsync(FeatureFilterEvaluationContext context) { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + // // Check if prebound settings available, otherwise bind from parameters. PercentageFilterSettings settings = (PercentageFilterSettings)context.Settings ?? (PercentageFilterSettings)BindParameters(context.Parameters); diff --git a/src/Microsoft.FeatureManagement/FeatureFilters/TimeWindowFilter.cs b/src/Microsoft.FeatureManagement/FeatureFilters/TimeWindowFilter.cs index 079b8172..9993cdc9 100644 --- a/src/Microsoft.FeatureManagement/FeatureFilters/TimeWindowFilter.cs +++ b/src/Microsoft.FeatureManagement/FeatureFilters/TimeWindowFilter.cs @@ -43,6 +43,11 @@ public object BindParameters(IConfiguration filterParameters) /// True if the feature is enabled, false otherwise. public Task EvaluateAsync(FeatureFilterEvaluationContext context) { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + // // Check if prebound settings available, otherwise bind from parameters. TimeWindowFilterSettings settings = (TimeWindowFilterSettings)context.Settings ?? (TimeWindowFilterSettings)BindParameters(context.Parameters);