public void Compose(Composition composition) { string environmentFromConfig = ConfigurationManager.AppSettings["EnvironmentDashboard"]; if (!string.IsNullOrWhiteSpace(environmentFromConfig)) { // Environment can be set via the AppSetting "EnvironmentDashboard" composition.AddEnvironmentDashboard(new AppSettingEnvironmentDetector()) .Append <ServerInformationFactFamilyProvider>() .Append <DatabaseServerFactFamilyProvider>(); } else { // When the AppSetting "EnvironmentDashboard" does not exist, then domains are required for registration composition.AddEnvironmentDashboard(environments => { environments .AddEnvironment("Local", "environmentdashboard.localhost") .AddEnvironment("Dev", "environmentdashboard-dev.azurewebsites.net") .AddEnvironment("QA", "environmentdashboard-qa.azurewebsites.net") .AddEnvironment("UAT", "uat-mydomain.com", "environmentdashboard-uat.azurewebsites.net") .AddEnvironment("Prod", "mydomain.com", "environmentdashboard-prod.azurewebsites.net"); }) .Append <DatabaseServerFactFamilyProvider>() .Append <ServerInformationFactFamilyProvider>() .Append <MyExampleFactFamilyProvider>(); } }