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


C# IContainer.Register方法代码示例

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


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

示例1: ApplySetup

        private static void ApplySetup(CqrsConfigurationSetup config)
        {
            Container = config.Container;
            Container.RegisterSingle(Container);

            if (config.IsUsingDefaultDispatchers)
            {
                Container.Register<IQueryDispatcher, QueryDispatcher>();
                Container.Register<ICommandDispatcher, CommandDispatcher>();
            }

            if (!config.Assemblies.Any())
                return;

            var queryHandlerType = typeof(IQueryHandler<,>);
            var commandHandlerType = typeof(ICommandHandler<>);
            var handlers = from a in config.Assemblies
                           from t in a.GetExportedTypes()
                           from i in t.GetInterfaces().Where(i => i.IsGenericType)
                           let generic = i.GetGenericTypeDefinition()
                           where generic == queryHandlerType || generic == commandHandlerType
                           select new { Implementation = t, Contract = i };

            foreach (var handler in handlers)
            {
                Container.Register(handler.Contract, handler.Implementation);
            }
        }
开发者ID:pavigeant,项目名称:Cqrs,代码行数:28,代码来源:CqrsConfiguration.cs

示例2: RegisterImplementations

 /// <summary>
 /// Allows a transport to register its dependencies in the IoC container.
 /// </summary>
 /// <param name="container">The container.</param>
 /// <param name="registrationType">Type of the registration.</param>
 /// <param name="connection">The connection.</param>
 /// <param name="queue">The queue.</param>
 public override void RegisterImplementations(IContainer container, RegistrationTypes registrationType, string connection, string queue)
 {
     container.Register<IConnectionInformation>(() => new BaseConnectionInformation(queue, connection),
         LifeStyles.Singleton);
     container.Register<IInternalSerializer, JsonSerializerInternal>(LifeStyles.Singleton);
     container.Register<IWorkerNotificationFactory, WorkerNotificationFactoryNoOp>(LifeStyles.Singleton);
 }
开发者ID:blehnen,项目名称:DotNetWorkQueue,代码行数:14,代码来源:QueueStatusInit.cs

示例3: RegisterHandlers

 private static void RegisterHandlers(IContainer container)
 {
     container.Register<IHandler<ShowSettingsMessage>, ShowSettingsHandler>();
     container.Register<IHandler<UpdatedCredentialsMessage>, UpdatedCredentialsHandler>();
     container.Register<IHandler<ShowSearchPaneMessage>, SearchPaneHandler>();
     container.Register<IHandler<SearchIssuesMessage>, SearchIssuesHandler>();
 }
开发者ID:iinteractive,项目名称:jira-win8-client,代码行数:7,代码来源:IoC.cs

示例4: Configure

 public void Configure(IContainer container)
 {
     Helper.GuardNotNull(container);
     container.RegisterAsSingleton<ICallManager, ICallManagerInternal, DefaultCallManager>();
     container.Register<ICallBuilder, DefaultCallBuilder>();
     container.Register<Call, Call>();
 }
开发者ID:percramer,项目名称:pjsip4net,代码行数:7,代码来源:DefaultCallComponentConfigurator.cs

示例5: Configure

 public void Configure(IContainer container)
 {
     Helper.GuardNotNull(container);
     container.RegisterAsSingleton<IAccountManager, IAccountManagerInternal, DefaultAccountManager>();
     container.Register<IAccountBuilder, DefaultAccountBuilder>();
     container.Register<Account, Account>();
 }
开发者ID:percramer,项目名称:pjsip4net,代码行数:7,代码来源:DefaultAccountComponentConfigurator.cs

示例6: RegisterService

        private void RegisterService(IContainer container)
        {
            if (Metrics != null)
            {
                container.Register<IMetrics>(() => Metrics, LifeStyles.Singleton);
            }

            if (Des && Gzip)
            {
                container.RegisterCollection<IMessageInterceptor>(new[]
                {
                    typeof (GZipMessageInterceptor), //gzip compression
                    typeof (TripleDesMessageInterceptor) //encryption
                });
                container.Register(() => DesConfiguration, LifeStyles.Singleton);
            }
            else if (Gzip)
            {
                container.RegisterCollection<IMessageInterceptor>(new[]
                {
                    typeof (GZipMessageInterceptor) //gzip compression
                });
            }
            else if (Des)
            {
                container.RegisterCollection<IMessageInterceptor>(new[]
                {
                    typeof (TripleDesMessageInterceptor) //encryption
                });
                container.Register(() => DesConfiguration,
                    LifeStyles.Singleton);
            }
        }
开发者ID:blehnen,项目名称:DotNetWorkQueue,代码行数:33,代码来源:SendMessage.cs

示例7: Configure

 public void Configure(IContainer container)
 {
     Helper.GuardNotNull(container);
     container.RegisterAsSingleton<IVoIPTransportFactory, DefaultVoIPTransportFactory>();
     container.Register<IVoIPTransport, UdpTransport>(TransportType.Udp.ToString());
     container.Register<IVoIPTransport, TcpTransport>(TransportType.Tcp.ToString());
     container.Register<IVoIPTransport, TlsTransport>(TransportType.Tls.ToString());
 }
开发者ID:kumarkmmca,项目名称:pjsip4net,代码行数:8,代码来源:DefaultTransportComponentConfigurator.cs

示例8: Configure

 public void Configure(IContainer container)
 {
     Helper.GuardNotNull(container);
     container.RegisterAsSingleton<IConferenceBridge, DefaultConferenceBridge>();
     container.RegisterAsSingleton<IMediaManager, IMediaManagerInternal, DefaultMediaManager>();
     container.Register<CodecInfo, CodecInfo>();
     container.Register<IWavPlayer, WavPlayer>();
 }
开发者ID:percramer,项目名称:pjsip4net,代码行数:8,代码来源:DefaultMediaComponentConfigurator.cs

示例9: Build

 public void Build(IContainer container)
 {
     container.Register<DatabaseFactory, IDatabaseFactory>();
     container.Register<DatabaseContext>();
     container.Register(() =>
     {
         var connectionString = container.Resolve<IChauffeurSettings>().ConnectionString;
         return new UmbracoDatabase(connectionString.ConnectionString, connectionString.ProviderName);
     });
 }
开发者ID:KevinJump,项目名称:Chauffeur,代码行数:10,代码来源:DatabaseBuilder.cs

示例10: RegisterDatabase

        public static void RegisterDatabase(IContainer container)
        {
            var mainDb = new MainDatabase(container.Resolve<IDbFactory>().Create());

            container.Register<IMainDatabase>(mainDb);

            var logDb = new LogDatabase(container.Resolve<IDbFactory>().Create(MigrationType.Log));

            container.Register<ILogDatabase>(logDb);
        }
开发者ID:Djohnnie,项目名称:Sonarr,代码行数:10,代码来源:DbFactory.cs

示例11: RegisterDatabase

        public static void RegisterDatabase(IContainer container)
        {
            var mainDb = container.Resolve<IDbFactory>().Create();

            container.Register(mainDb);

            var logDb = container.Resolve<IDbFactory>().Create(MigrationType.Log);

            container.Register<ILogRepository>(c => new LogRepository(logDb, c.Resolve<IEventAggregator>()));
        }
开发者ID:BubbaFatAss,项目名称:NzbDrone,代码行数:10,代码来源:DbFactory.cs

示例12: Configure

        public void Configure(IContainer container)
        {
            Helper.GuardNotNull(container);

            container.RegisterAsSingleton<IObjectFactory, DefaultObjectFactory>();
            container.RegisterAsSingleton<IRegistry, IConfigurationContext, DefaultRegistry>();
            container.RegisterAsSingleton<IImManager, IImManagerInternal, DefaultImManager>();
            container.Register<IMessageBuilder, DefaultMessageBuilder>();
            container.Register<IBuddyBuilder, DefaultBuddyBuilder>();
            container.Register<Buddy, Buddy>();
        }
开发者ID:percramer,项目名称:pjsip4net,代码行数:11,代码来源:DefaultComponentConfigurator.cs

示例13: RegisterDatabase

        public static void RegisterDatabase(IContainer container)
        {
            container.Resolve<IDbFactory>().Create();

            container.Register(c => c.Resolve<IDbFactory>().Create());

            container.Resolve<IDbFactory>().Create(MigrationType.Log);

            container.Register<ILogRepository>(c =>
            {
                var db = c.Resolve<IDbFactory>().Create(MigrationType.Log);
                return new LogRepository(db, c.Resolve<IEventAggregator>());
            });
        }
开发者ID:peterlandry,项目名称:NzbDrone,代码行数:14,代码来源:DbFactory.cs

示例14: RegisterHandlers

 private static void RegisterHandlers(IContainer container)
 {
     // todo: Add Assembly Scanning here to auto-register
     container.Register<IHandler<ShowSearchPaneMessage>, ShowSearchPaneHandler>();
     container.Register<IHandler<ShareImageResultsMessage>, ShareImageResultsHandler>();
     container.Register<IHandler<ShareUriMessage>, ShareUriHandler>();
     
     container.Register<IHandler<ShowShareUiMessage>, ShowShareUiHandler>();
     container.Register<IHandler<UpdateTileMessage>, UpdateTileHandler>();
     container.Register<IHandler<UpdateTileImageCollectionMessage>, UpdateTileImageCollectionHandler>();
     container.Register<IHandler<ShowSettingsMessage>, ShowSettingsHandler>();
     container.Register<IAsyncHandler<SearchQuerySubmittedMessage>, SearchQuerySubmittedHandler>();
     container.Register<IAsyncHandler<SetLockScreenMessage>, SetLockScreenHandler>();
     container.Register<IAsyncHandler<SaveImageMessage>, SaveImageHandler>();
 }
开发者ID:schmidp,项目名称:GettingStartedWithMetroApps,代码行数:15,代码来源:IoC.cs

示例15: RegisterServices

        public static void RegisterServices(IContainer container)
        {
            Preconditions.CheckNotNull(container, "container");

            // Note: IConnectionConfiguration gets registered when RabbitHutch.CreateBus(..) is run.

            // default service registration
            container
                .Register(_ => container)
                .Register<IEasyNetQLogger, ConsoleLogger>()
                .Register<ISerializer, JsonSerializer>()
                .Register<IConventions, Conventions>()
                .Register<IEventBus, EventBus>()
                .Register<ITypeNameSerializer, TypeNameSerializer>()
                .Register<Func<string>>(x => CorrelationIdGenerator.GetCorrelationId)
                .Register<IClusterHostSelectionStrategy<ConnectionFactoryInfo>, DefaultClusterHostSelectionStrategy<ConnectionFactoryInfo>>()
                .Register<IConsumerDispatcherFactory, ConsumerDispatcherFactory>()
                .Register<IPublishExchangeDeclareStrategy, PublishExchangeDeclareStrategy>()
                .Register(sp => PublisherFactory.CreatePublisher(sp.Resolve<IConnectionConfiguration>(), sp.Resolve<IEasyNetQLogger>(), sp.Resolve<IEventBus>()))
                .Register<IConsumerErrorStrategy, DefaultConsumerErrorStrategy>()
                .Register<IHandlerRunner, HandlerRunner>()
                .Register<IInternalConsumerFactory, InternalConsumerFactory>()
                .Register<IConsumerFactory, ConsumerFactory>()
                .Register<IConnectionFactory, ConnectionFactoryWrapper>()
                .Register<IPersistentChannelFactory, PersistentChannelFactory>()
                .Register<IClientCommandDispatcherFactory, ClientCommandDispatcherFactory>()
                .Register<IHandlerCollectionFactory, HandlerCollectionFactory>()
                .Register<IAdvancedBus, RabbitAdvancedBus>()
                .Register<IRpc, Rpc>()
                .Register<ISendReceive, SendReceive>()
                .Register<IBus, RabbitBus>();
        }
开发者ID:jeffdoolittle,项目名称:EasyNetQ,代码行数:32,代码来源:ComponentRegistration.cs


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