在 .NET Core 使用 Feature Flag (Feature Toggle)
最近開發流程從 Gitflow 改為 Trunk-Based,讓每個 Feature 能很快速地回到主幹分支,但頻繁交付有時也不會想把新功能推出在使用者面前,所以這時候就能用 Feature Flag 來管理這些還沒有要發佈的功能,本篇文章記錄一下如何在 .NET Core 加入此功能,並講解一下目前實務上常規化的 Flag Nuget 安裝 dotnet add package Microsoft.FeatureManagement.AspNetCore 加入 Feature Toggle public void ConfigureServices(IServiceCollection services) { // feature toggle services.AddFeatureManagement(); services.AddControllers(); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo {Title = "FeatureFlagPoc.API", Version = "v1"}); }); } 要使用時直接注入 private readonly IFeatureManager _featureManager; public WeatherForecastController(ILogger<WeatherForecastController> logger, IFeatureManager featureManager) { _logger = logger; _featureManager = featureManager; } 基本的 Feature Toggle 使用 var isFeatureAEnabled = await _featureManager....