本文整理汇总了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);
}
}
示例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);
}
示例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>();
}
示例4: Configure
public void Configure(IContainer container)
{
Helper.GuardNotNull(container);
container.RegisterAsSingleton<ICallManager, ICallManagerInternal, DefaultCallManager>();
container.Register<ICallBuilder, DefaultCallBuilder>();
container.Register<Call, Call>();
}
示例5: Configure
public void Configure(IContainer container)
{
Helper.GuardNotNull(container);
container.RegisterAsSingleton<IAccountManager, IAccountManagerInternal, DefaultAccountManager>();
container.Register<IAccountBuilder, DefaultAccountBuilder>();
container.Register<Account, Account>();
}
示例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);
}
}
示例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());
}
示例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>();
}
示例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);
});
}
示例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);
}
示例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>()));
}
示例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>();
}
示例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>());
});
}
示例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>();
}
示例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>();
}