本文整理汇总了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());
}
示例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>();
}
示例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));
}
示例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));
}