gpt4 book ai didi

c# - 功能管理、功能切换、功能标志不适用于 Azure 应用程序配置存储

转载 作者:行者123 更新时间:2023-12-03 04:49:19 25 4
gpt4 key购买 nike

我正在尝试向 .net core 2.2 控制台应用程序添加功能标志。功能标志在 Azure 应用程序配置存储中定义。

当在 appsettings.json 文件中定义功能标志时,我遇到了问题,但使它正常工作。完整的控制台项目在我的SO question here中定义。 。这不是问题。

我正在尝试遵循tutorial这让我抓狂。这里的问题是这个教程并不简单。它是一个网络应用程序,在它的顶部,他使用了 Secret manager tool

我根本无法使 web 应用程序按照教程中的描述工作,因此我尝试首先创建一个简单的控制台应用程序,但到目前为止无法使用 Azure 应用程序配置存储成功。

这是迄今为止无法运行的控制台应用程序。非常感谢任何帮助。

以下是添加到控制台项目中的包。

  1. Microsoft.Extensions.Configuration.AzureAppConfiguration
  2. Microsoft.Extensions.Configuration.Json
  3. Microsoft.Extensions.DependencyInjection
  4. Microsoft.FeatureManagement
using System;
using System.Threading.Tasks;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.FeatureManagement;
using Microsoft.FeatureManagement.FeatureFilters;
using Microsoft.Extensions.Configuration.AzureAppConfiguration;

namespace ConfigurationConsoleApp
{
class Program
{
static async Task Main(string[] args)
{
var builder = new ConfigurationBuilder();
var azureConnectionString = "<APP_CONFIGURATION_CONNECTION_STRING>";
//builder.AddAzureAppConfiguration(options =>
//{
// options.Connect(azureConnectionString).UseFeatureFlags();
//});
builder.AddAzureAppConfiguration(azureConnectionString);
var config = builder.Build();
Console.WriteLine(config["TestApp:Settings:Message"] ?? "Hello world!");
var configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
var services = new ServiceCollection();

//services.AddSingleton<IConfiguration>(configuration).AddFeatureManagement().AddFeatureFilter<PercentageFilter>().AddFeatureFilter<AccountIdFilter>();
services.AddSingleton<IConfiguration>(config).AddFeatureManagement();//.AddFeatureFilter<PercentageFilter>().AddFeatureFilter<AccountIdFilter>();

const string FeatureName = "Beta";

using (ServiceProvider serviceProvider = services.BuildServiceProvider())
{
var featureManager = serviceProvider.GetRequiredService<IFeatureManager>();
var enabled = await featureManager.IsEnabledAsync(FeatureName);
Console.WriteLine($"The {FeatureName} feature is {(enabled ? "enabled" : "disabled")} ");
}
}
}
}


最佳答案

您是否查看过 Microsoft.FeatureManagement GitHub 存储库中的示例应用程序?

https://github.com/microsoft/FeatureManagement-Dotnet/tree/master/examples/FeatureFlagDemo https://github.com/microsoft/FeatureManagement-Dotnet/tree/master/examples/ConsoleApp

您的代码看起来应该可以工作。除非在名为“Beta”的 Azure 应用程序配置实例中创建功能标志,否则它将无法工作。

关于c# - 功能管理、功能切换、功能标志不适用于 Azure 应用程序配置存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59332948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com