示例#1
0
 private void Initialize()
 {
     serviceProvider = new ServiceCollection()
                       .AddLogging
                       (
         loggingBuilder =>
     {
         loggingBuilder.ClearProviders();
         loggingBuilder.Services.AddSingleton <ILoggerProvider>
         (
             serviceProvider => new XUnitLoggerProvider(this.output)
         );
         loggingBuilder.AddFilter <XUnitLoggerProvider>("*", LogLevel.None);
         loggingBuilder.AddFilter <XUnitLoggerProvider>("Contoso.Test.Flow", LogLevel.Trace);
     }
                       )
                       .AddTransient <IFlowManager, FlowManager>()
                       .AddTransient <FlowActivityFactory, FlowActivityFactory>()
                       .AddTransient <DirectorFactory, DirectorFactory>()
                       .AddTransient <ICustomActions, CustomActions>()
                       .AddSingleton <FlowDataCache, FlowDataCache>()
                       .AddSingleton <Progress, Progress>()
                       .AddSingleton <IRulesCache>(sp =>
     {
         return(RulesService.LoadRulesSync(new RulesLoader()));
     })
                       .BuildServiceProvider();
 }