arc-provider-csharp

0
README.md

ARC Provider Csharp

Этот репозиторий содержит провайдера для переключения флагов функций с использованием сервера ARC.

Полезные ссылки:

Использование

Установка

Добавьте в файл

nuget.config
строки конфигурации для доступ к NuGet репозиторию Failover

<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <!--To inherit the global NuGet package sources remove the <clear/> line below --> <clear /> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> <add key="dotnet-core" value="https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json" /> *** <add key="scope" value="https://git.failover.bar/api/v4/groups/3/-/packages/nuget/index.json" /> </packageSources> <packageRestore> <add key="enabled" value="True" /> <add key="automatic" value="True" /> </packageRestore> <bindingRedirects> <add key="skip" value="False" /> </bindingRedirects> <packageManagement> <add key="format" value="1" /> <add key="disabled" value="True" /> </packageManagement> <packageSourceCredentials> *** <scope> <add key="Username" value="ro_failover" /> <add key="ClearTextPassword" value="8kyZxu6xBsxbzcmjyB3z" /> </scope> *** </packageSourceCredentials> </configuration>

Установите пакет

dotnet add package Arc.Provider

Конфигурация

Добавьте секцию

ArcSettings
в конфигурацию запуска appsettings.json

  • AppId
    должен содержать идентификатор приложения из ARC
  • ArcServer
    используется для переназначения адреса сервера, если тот развёрнут независимо

Регистрация сервисов

Управление переключением функция в ARC основани на .NET Core DI. Мы можем зарегистрировать сервисы управления функциями, используя стандартные контракты.

IFeatureValues

Если аргументы для метода

IsEnabledAsync
класса
FeatureManager
не переданы, контекст IFeatureValues может быть использован для передачи значений для контекстного фильтра Arc с использованием промежуточного слоя. Ознакомьтесь с примером.

Примеры

Вы можете найти пример приложения в папке [examples].

Приложение ослуживает два маршрута:

  • Http Get
    /flags/TEST_KEY?value1=42&value2=36b
    , для которого используется аттрибут
    FeatureGate
    и
    IFeatureValues
    из контекста для запроса функций
  • Http Post
    /flags/TEST_KEY
    , для которого напрямую используется тело запроса в формате JSON as массив пар ключ-значение для запроса функций