Getting started with .Net (C#) SDK

2 minute read
UPDATE

Because CloudBees Feature Management is an end-of-life product, support during the extension period is limited to critical items only:

  • Critical security fixes: High-impact security issues are in scope and will be addressed.

  • Critical bug fixes: Reviewed case by case; resolution is not guaranteed.

  • General support, enhancements, and non-critical fixes: Not provided for end-of-life products during the extension period.

This coverage is consistent with the CloudBees end-of-life policy in the support Terms & Conditions.

This is Rollout-legacy documentation.

For Rollout customers: This (Rollout) documentation remains available through your end-of-service date.

CloudBees Feature Management is now part of CloudBees Unify. Refer to CloudBees Unify Feature management documentation.

This section describes how to set up and install the .NET (C#) SDK and how to deploy a feature flag.

Step 1: Setting up

To setup .Net (C#) SDK, follow these steps:

  1. Create a CloudBees Feature Management account. See Signup Page to create an account.

  2. Get your environment key. Copy your environment key from App settings > Environments > Key.

Step 2: Installing the .Net (C#) SDK

Add the CloudBees Feature Management .Net (C#) library to your application by adding the library rox-server or use the command line:

Package Manager
CLI
# Add the SDK to your project $ Install-Package rox-server
# Add the SDK to your project $ dotnet add package rox-server

Add the following lines of code to your application:

using Io.Rollout.Rox.Server; using Io.Rollout.Rox.Core.Entities; using Io.Rollout.Rox.Server.Flags; using System; using System.Threading.Tasks; namespace dotnet { // Create a Roxflag in the Flag continer class public class Flags : IRoxContainer { public RoxFlag enableTutorial = new RoxFlag(false); public RoxString titleColors = new RoxString("White", new String[] {"White", "Blue", "Green"}); public RoxInt titleSize = new RoxInt(12, new int[] {12, 14, 18}); public RoxDouble specialNumbers = new RoxDouble(3.14, new double[] { 2.71, 0.577 }); } class Program { static async Task Main(string[] args) { Flags flags = new Flags(); // Register the flag container Rox.Register("", flags); var options = new RoxOptions(new RoxOptions.RoxOptionsBuilder {}); // Set the environment key await Rox.Setup("<ROLLOUT-ENV-KEY>", options); // Boolean flag example Console.WriteLine("enableTutorial " + flags.enableTutorial.IsEnabled()); // string flag example Console.WriteLine("titleColors value is " + flags.titleColors.GetValue()); // int flag example Console.WriteLine("titleSize value is " + flags.titleSize.GetValue()); // double flag example Console.WriteLine("specialNumbers value is " + flags.specialNumbers.GetValue()); } } }

Container class registration and environment key setup

  • You cannot call Rox.setup() twice in the same runtime.

Run your application

Running the application

The flag name is automatically added to the CloudBees Feature Management dashboard after running the application.