README

November 7, 2011 ยท View on GitHub

Feature Toggling for .net

for more information on the concept of feature toggle see http://martinfowler.com/bliki/FeatureToggle.html

Usage **** nToggle no longer supports appSettings and is now configured by using it's own configSection

/*The following toggle will associate a custom IFeatureToggleRepository with the given toggle. Custom repositories can enable things like A/B testing*/

Remove controls from a web page based on a feature toggle: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ToggledOff.aspx.cs" Inherits="nToggleWebTestApp.ToggledOff" %>

<%@ Register assembly="nToggle" namespace="nToggle" tagprefix="nToggle" %> <nToggle:WebFeatureToggle ID="FeatureToggle1" EnabledBy="TestFeatureOff" runat="server" > Feature Turned Off </nToggle:WebFeatureToggle> <nToggle:WebFeatureToggle ID="FeatureToggle2" RemovedBy="TestFeatureOff" runat="server" > Feature Turned Off But Toggle is remove by feature </nToggle:WebFeatureToggle>

************ Warning: Asp.net does not populate the controls collection with inline script tags so the following is NOT valid <nToggle:WebFeatureToggle ID="FeatureToggle1" EnabledBy="TestFeatureOff" runat="server" > <%= "Feature Turned Off" %> </nToggle:WebFeatureToggle>

Run code in a Code Behind based on a feature toggle: protected void Page_Load(object sender, EventArgs e) { WebFeatureToggle1.RunActionWhenDisabled(CodeToRunIfDisabled); WebFeatureToggle1.RunActionWhenEnabled(CodeToRunIfEnabled); } protected void CodeToRunIfDisabled() { //your code } protected void CodeToRunIfEnabled() { //your code }