コード例 #1
0
 /// <summary>
 /// Construct experimentation service object using initializer object.
 /// </summary>
 /// <param name="initializer"></param>
 public ExperimentationService(ExperimentationServiceInitializer initializer)
 {
     CodeContract.RequiresArgumentNotNull <ExperimentationServiceInitializer>(initializer, "initializer");
     initializer.FillWithDefaults();
     telemetry                       = initializer.ExperimentationTelemetry;
     filterProvider                  = initializer.ExperimentationFilterProvider;
     flightsProvider                 = initializer.FlightsProvider;
     setFlightsProvider              = initializer.SetFlightsProvider;
     flightsProvider.FlightsUpdated += OnFlightsUpdated;
     SetFlightsTelemetry();
 }
コード例 #2
0
 public MasterFlightsProvider(IEnumerable <IFlightsProvider> inclusiveFlightsProviders, IEnumerable <IFlightsProvider> exclusiveFlightsProviders, IFlightsProvider shippedFlightsProvider, IExperimentationOptinStatusReader optinStatusReader)
 {
     CodeContract.RequiresArgumentNotNull <IEnumerable <IFlightsProvider> >(inclusiveFlightsProviders, "inclusiveFlightsProviders");
     CodeContract.RequiresArgumentNotNull <IEnumerable <IFlightsProvider> >(exclusiveFlightsProviders, "exclusiveFlightsProviders");
     CodeContract.RequiresArgumentNotNull <IFlightsProvider>(shippedFlightsProvider, "shippedFlightsProvider");
     CodeContract.RequiresArgumentNotNull <IExperimentationOptinStatusReader>(optinStatusReader, "optinStatusReader");
     this.exclusiveFlightsProviders = exclusiveFlightsProviders;
     this.inclusiveFlightsProviders = inclusiveFlightsProviders;
     this.shippedFlightsProvider    = shippedFlightsProvider;
     ForAllProviders(delegate(IFlightsProvider provider)
     {
         provider.FlightsUpdated += OnProviderFlightsUpdated;
     });
     isUserOptedIn = optinStatusReader.IsOptedIn;
 }