当前位置: 首页>>代码示例>>C#>>正文


C# IServiceRegistry.RegisterInstance方法代码示例

本文整理汇总了C#中IServiceRegistry.RegisterInstance方法的典型用法代码示例。如果您正苦于以下问题:C# IServiceRegistry.RegisterInstance方法的具体用法?C# IServiceRegistry.RegisterInstance怎么用?C# IServiceRegistry.RegisterInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IServiceRegistry的用法示例。


在下文中一共展示了IServiceRegistry.RegisterInstance方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Compose

        public void Compose(IServiceRegistry serviceRegistry)
        {
            serviceRegistry.Register<FileSystemMonitorServiceConfiguration, FileSystemMonitorService>(
                (factory, configuration) =>
                    new FileSystemMonitorService(
                        configuration,
                        factory.GetInstance<IFolderWatcherFactory>(CompositionRoot.LoggingFolderWatcherFactory),
                        factory.GetInstance<FileServiceFactory>(),
                        factory.GetInstance<SynchronizationServiceFactory>(),
                        factory.GetInstance<ILogger>()));

            serviceRegistry.RegisterInstance<ILogger>(LogManager.GetLogger("Application Logger"));
            serviceRegistry.Register<IFileSystemMonitorServiceFactory, LoggingFileSystemMonitorServiceFactory>(CompositionRoot.LoggingFileSystemMonitorServiceFactory);
            serviceRegistry.Register<IFileSystemMonitorServiceFactory, FileSystemMonitorServiceFactory>(new PerContainerLifetime());
            serviceRegistry.Register<string, IFolderWatcher>((factory, path) => new FolderWatcher(path));
            serviceRegistry.Register<IFolderWatcherFactory, LoggingFolderWatcherFactory>(CompositionRoot.LoggingFolderWatcherFactory);
            serviceRegistry.Register<IFolderWatcherFactory, FolderWatcherFactory>(new PerContainerLifetime());

            serviceRegistry.Register<PollingManagerFactory>(new PerContainerLifetime());
            serviceRegistry.Register<IPollingManager>(factory => factory.GetInstance<PollingManagerFactory>().Create(), new PerContainerLifetime());

            serviceRegistry.Register<string, string, ICopyOperation>((factory, sourcePath, destinationPath) =>
                new LoggingPollingCopyOperation(
                    new PollingCopyOperation(new CopyOperation(sourcePath, destinationPath),
                        factory.GetInstance<IPollingManager>()),
                    factory.GetInstance<ILogger>()));
            serviceRegistry.Register<string, string, IRenameOperation>(
                ((factory, oldPath, newPath) => new LoggingPollingRenameOperation(
                    new PollingRenameOperation(new RenameOperation(oldPath, newPath),
                        factory.GetInstance<IPollingManager>()),
                    factory.GetInstance<ILogger>())));
            serviceRegistry.Register<string, string, ISynchronizationOperation>(
                ((factory, sourcePath, destinationPath) => new LoggingPollingSynchronizationOperation(
                    new PollingSynchronizationOperation(
                        new SynchronizationOperation(new CopyOperation(sourcePath, destinationPath)),
                        factory.GetInstance<IPollingManager>()),
                    factory.GetInstance<ILogger>())));
            serviceRegistry.Register<OperationFactory>(new PerContainerLifetime());

            serviceRegistry.Register<string, IFileOperationManager>(
                ((factory, destinationPath) => new FileOperationManager(factory.GetInstance<OperationFactory>(), destinationPath)));
            serviceRegistry.Register<FileOperationManagerFactory>(new PerContainerLifetime());

            serviceRegistry.Register<string, IFileService>((factory, destinationpath) =>
                new FileService(destinationpath, factory.GetInstance<FileOperationManagerFactory>(), factory.GetInstance<ILogger>()));
            serviceRegistry.Register<FileServiceFactory>(new PerContainerLifetime());

            serviceRegistry.Register<string, string, ISynchronizationService>((factory, sourcePath, destinationPath) =>
                new SynchronizationService(
                    sourcePath,
                    destinationPath,
                    factory.GetInstance<FileOperationManagerFactory>(),
                    factory.GetInstance<ILogger>()));
            serviceRegistry.Register<SynchronizationServiceFactory>(new PerContainerLifetime());
        }
开发者ID:RamanBut-Husaim,项目名称:.NET-Practice,代码行数:55,代码来源:CompositionRoot.cs

示例2: RegisterServices

        /// <summary>
        /// Registers the dependency services to be injected
        /// </summary>
        /// <param name="serviceRegistry">The Service Registry</param>
        private static void RegisterServices(IServiceRegistry serviceRegistry)
        {
            // Register default Application Settings Service
            serviceRegistry.Register<IAppSettings, ConfigAppSettings>();

            // Register default Logger Service
            ////serviceRegistry.Register<ILogger, JsonL4NLogger>();
            serviceRegistry.RegisterInstance(typeof(ILogger), new JsonL4NLogger());

            // Register default Hosting Environment Service
            serviceRegistry.Register<IHostingEnvironmentService, ServerHostingEnvironmentService>();

            // Register default File IO Service
            serviceRegistry.Register<IFileIOService, TextFileIOService>();

            // Register default Data Service
            serviceRegistry.Register<IDataService, HelloWorldDataService>();

            // Register default DateTime wrapper
            serviceRegistry.Register<IDateTime, SystemDateTime>();

            // Register default Hello World mapper
            serviceRegistry.Register<IHelloWorldMapper, HelloWorldMapper>();
        }
开发者ID:ryanwoodcox,项目名称:HelloWorld,代码行数:28,代码来源:LightInjectConfig.cs

示例3: Compose

        public void Compose(IServiceRegistry serviceRegistry)
        {
            serviceRegistry.RegisterInstance<ILogger>(LogManager.GetLogger("Application Logger"));
            serviceRegistry.Register<PollingManagerFactory>(new PerContainerLifetime());
            serviceRegistry.Register<IPollingManager>(factory => factory.GetInstance<PollingManagerFactory>().Create(), new PerContainerLifetime());

            serviceRegistry.Register<string, FileMessage, ICopyOperation>((factory, sourcePath, fileMessage) =>
                new LoggingPollingCopyOperation(
                    new PollingCopyOperation(new CopyOperation(sourcePath, fileMessage),
                        factory.GetInstance<IPollingManager>()),
                    factory.GetInstance<ILogger>()));

            serviceRegistry.Register<string, string, IRenameOperation>(((factory, oldPath, newPath) =>
                new LoggingPollingRenameOperation(
                    new PollingRenameOperation(new RenameOperation(oldPath, newPath),
                        factory.GetInstance<IPollingManager>()),
                    factory.GetInstance<ILogger>())));

            serviceRegistry.Register<ICopyOperation, ISynchronizationOperation>(
                ((factory, copyOperation) => new LoggingPollingSynchronizationOperation(
                    new PollingSynchronizationOperation(
                        new SynchronizationOperation(copyOperation),
                        factory.GetInstance<IPollingManager>()),
                    factory.GetInstance<ILogger>())));

            serviceRegistry.Register<ConnectionManagerFactory>(new PerContainerLifetime());
            serviceRegistry.Register<SerializationAssistantFactory>(new PerContainerLifetime());
            serviceRegistry.Register<IConnectionManager>(factory => factory.GetInstance<ConnectionManagerFactory>().Create(), new PerContainerLifetime());

            serviceRegistry.Register<ChannelProviderFactory>(new PerContainerLifetime());
            serviceRegistry.Register<IChannelProvider>(factory => new ChannelProvider(factory.GetInstance<ConnectionManagerFactory>()), new PerContainerLifetime());

            serviceRegistry.Register<FileTransferManagerFactory>(new PerContainerLifetime());
            serviceRegistry.Register<IFileTransferManager>(factory => factory.GetInstance<FileTransferManagerFactory>().Create(), new PerContainerLifetime());

            serviceRegistry.Register<FileMessageDispatcherFactory>(new PerContainerLifetime());

            serviceRegistry.Register<EventingSerializationBasicConsumer<FileMessage>>(
                factory => new EventingSerializationBasicConsumer<FileMessage>(
                    factory.GetInstance<IChannelProvider>().GetChannel(),
                    factory.GetInstance<SerializationAssistantFactory>()));

            serviceRegistry.Register<FileMessageListenerService>(
                factory => new FileMessageListenerService(
                    factory.GetInstance<EventingSerializationBasicConsumer<FileMessage>>(),
                    factory.GetInstance<IFileTransferManager>(),
                    factory.GetInstance<FileMessageDispatcherFactory>()));

            serviceRegistry.Register<IFileMessageDispatcher, FileMessageDispatcher>();

            serviceRegistry.Register<HarvesterProcessingDispatcherFactory>(new PerContainerLifetime());
            serviceRegistry.Register<string, IHarvesterProcessingDispatcher>(
                ((factory, harvesterName) => new HarvesterProcessingDispatcher(
                    factory.GetInstance<ILogger>(),
                    factory.GetInstance<Func<IFileBatchManager>>(),
                    harvesterName)));

            serviceRegistry.Register<IFileBatchManager, FileBatchManager>();
            serviceRegistry.Register<IFileOperationProcessor>(factory =>
                new LoggingFileOperationProcessor(
                    new FileOperationProcessor(factory.GetInstance<IFileTransferManager>(), factory.GetInstance<OperationFactory>()),
                    factory.GetInstance<ILogger>()));

            serviceRegistry.Register<OperationFactory>(factory => new OperationFactory(
                factory.GetInstance<Func<string, FileMessage, ICopyOperation>>(),
                factory.GetInstance<Func<string, string, IRenameOperation>>(),
                factory.GetInstance<Func<ICopyOperation, ISynchronizationOperation>>(),
                ConfigurationProvider.Instance.Configuration.ResultFolder), new PerContainerLifetime());

            serviceRegistry.Register<CentralHostServiceFactory>(new PerContainerLifetime());
            serviceRegistry.Register<ServiceConfiguration, CentralHostService>(
                (factory, configuration) => new CentralHostService(
                    factory.GetInstance<ILogger>(),
                    factory.GetInstance<FileMessageListenerService>(),
                    configuration));
        }
开发者ID:RamanBut-Husaim,项目名称:.NET-Practice,代码行数:76,代码来源:CompositionRoot.cs

示例4: ConfigureContainer

 private void ConfigureContainer(IServiceRegistry registry)
 {
     registry.RegisterInstance<IFodyLogger>(this);
     registry.RegisterInstance<ModuleWeaver>(this);
     registry.RegisterInstance<ModuleDefinition>(this.ModuleDefinition);
     registry.RegisterAssembly(GetType().Assembly
         , (serviceType, implementingType) => typeof(IModuleProcessor).IsAssignableFrom(implementingType));
 }
开发者ID:brainoffline,项目名称:Commander.Fody,代码行数:8,代码来源:ModuleWeaver.cs


注:本文中的IServiceRegistry.RegisterInstance方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。