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


C# IDependencyResolver.Register方法代码示例

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


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

示例1: RegisterDefaultServices

        public static void RegisterDefaultServices(IDependencyResolver resolver) {
            var fileStorage = new Lazy<IFileStorage>(() => resolver.Resolve<InMemoryFileStorage>());
            resolver.Register(typeof(IFileStorage), () => fileStorage.Value);

            var exceptionlessLog = new Lazy<IExceptionlessLog>(() => resolver.Resolve<NullExceptionlessLog>());
            resolver.Register(typeof(IExceptionlessLog), () => exceptionlessLog.Value);

            var jsonSerializer = new Lazy<IJsonSerializer>(() => resolver.Resolve<DefaultJsonSerializer>());
            resolver.Register(typeof(IJsonSerializer), () => jsonSerializer.Value);

            var eventQueue = new Lazy<IEventQueue>(() => resolver.Resolve<DefaultEventQueue>());
            resolver.Register(typeof(IEventQueue), () => eventQueue.Value);

            var submissionClient = new Lazy<ISubmissionClient>(() => resolver.Resolve<DefaultSubmissionClient>());
            resolver.Register(typeof(ISubmissionClient), () => submissionClient.Value);

            var environmentInfoCollector = new Lazy<IEnvironmentInfoCollector>(() => resolver.Resolve<DefaultEnvironmentInfoCollector>());
            resolver.Register(typeof(IEnvironmentInfoCollector), () => environmentInfoCollector.Value);

            var lastClientIdManager = new Lazy<ILastReferenceIdManager>(() => resolver.Resolve<DefaultLastReferenceIdManager>());
            resolver.Register(typeof(ILastReferenceIdManager), () => lastClientIdManager.Value);

            var duplicateChecker = new Lazy<IDuplicateChecker>(() => resolver.Resolve<DefaultDuplicateChecker>());
            resolver.Register(typeof(IDuplicateChecker), () => duplicateChecker.Value);

            var persistedClientData = new Lazy<PersistedDictionary>(() => new PersistedDictionary("client-data.json", resolver.Resolve<IFileStorage>(), resolver.Resolve<IJsonSerializer>()));
            resolver.Register(typeof(PersistedDictionary), () => persistedClientData.Value);
        }
开发者ID:BookSwapSteve,项目名称:Exceptionless,代码行数:28,代码来源:DependencyResolver.cs

示例2: UseMessageBus

        protected void UseMessageBus(MessageBusType type, IDependencyResolver resolver, int streams = 1)
        {
            IMessageBus bus = null;

            switch (type)
            {
                case MessageBusType.Default:
                    break;
                case MessageBusType.Fake:
                case MessageBusType.FakeMultiStream:
                    bus = new FakeScaleoutBus(resolver, streams);
                    break;
                case MessageBusType.SqlServer:
                    break;
                case MessageBusType.ServiceBus:
                    break;
                case MessageBusType.Redis:
                    break;
                default:
                    break;
            }

            if (bus != null)
            {
                resolver.Register(typeof(IMessageBus), () => bus);
            }
        }
开发者ID:Choulla-Naresh8264,项目名称:SignalR,代码行数:27,代码来源:HostedTest.cs

示例3: RegisterDependencies

        public static void RegisterDependencies(IDependencyResolver dependencyResolver, SqlDatabaseTypeEnum databaseType)
        {
            dependencyResolver.Register<IUnitOfWorkFactory, EntityFrameworkUnitOfWorkFactory>();

            if (databaseType == SqlDatabaseTypeEnum.Azure)
            {
                dependencyResolver.Register<IDbConfiguration, SqlDatabaseConfiguration>();
                DbConfiguration.SetConfiguration(new SqlDatabaseConfiguration());
            }
            else
            {
                dependencyResolver.Register<IDbConfiguration, NullDatabaseConfiguration>();
                DbConfiguration.SetConfiguration(new NullDatabaseConfiguration());
            }

            dependencyResolver.Register<IUnitOfWorkFactoryProvider, EntityFrameworkUnitOfWorkFactoryProvider>();
        }
开发者ID:vvmoppescapita,项目名称:AccidentalFish.ApplicationSupport,代码行数:17,代码来源:Bootstrapper.cs

示例4: CompressPayloads

        /// <summary>
        /// Register the PayloadCompressionModule and all required dependency resolver pieces.
        /// </summary>
        public void CompressPayloads(IDependencyResolver resolver)
        {
            var payloadDescriptorProvider = new Lazy<ReflectedPayloadDescriptorProvider>(() => new ReflectedPayloadDescriptorProvider(resolver));
            resolver.Register(typeof(IPayloadDescriptorProvider), () => payloadDescriptorProvider.Value);

            var payloadCompressor = new Lazy<DefaultPayloadCompressor>(() => new DefaultPayloadCompressor(resolver));
            resolver.Register(typeof(IPayloadCompressor), () => payloadCompressor.Value);

            var payloadDecompressor = new Lazy<DefaultPayloadDecompressor>(() => new DefaultPayloadDecompressor(resolver));
            resolver.Register(typeof(IPayloadDecompressor), () => payloadDecompressor.Value);

            var contractGenerator = new Lazy<DefaultContractsGenerator>(() => new DefaultContractsGenerator(resolver));
            resolver.Register(typeof(IContractsGenerator), () => contractGenerator.Value);

            var parameterBinder = new Lazy<CompressableParameterResolver>(() => new CompressableParameterResolver(payloadDescriptorProvider.Value, payloadDecompressor.Value));
            resolver.Register(typeof(IParameterResolver), () => parameterBinder.Value);

            resolver.Resolve<IHubPipeline>().AddModule(new PayloadCompressionModule(resolver.Resolve<IPayloadCompressor>(), resolver.Resolve<IPayloadDescriptorProvider>(), resolver.Resolve<IContractsGenerator>()));
        }
开发者ID:NTaylorMullen,项目名称:SignalR.Compression,代码行数:22,代码来源:CompressionBase.cs

示例5: RegisterBus

        private static IDependencyResolver RegisterBus(IDependencyResolver resolver, RabbitMqScaleoutConfiguration configuration, RabbitConnectionBase advancedConnectionInstance = null)
        {
            RabbitMqMessageBus bus = null;
            var initialized = false;
            var syncLock = new object();
            Func<RabbitMqMessageBus> busFactory = () => new RabbitMqMessageBus(resolver, configuration, advancedConnectionInstance);

            resolver.Register(typeof (IMessageBus), () => LazyInitializer.EnsureInitialized(ref bus, ref initialized, ref syncLock, busFactory));
            
            return resolver;
        }
开发者ID:vebin,项目名称:SignalR.RabbitMq,代码行数:11,代码来源:DependencyResolverExtensions.cs

示例6: UseMessageBus

 protected void UseMessageBus(MessageBusType type, IDependencyResolver resolver, ScaleoutConfiguration configuration = null, int streams = 1)
 {
     switch (type)
     {
         case MessageBusType.Default:
             break;
         case MessageBusType.Fake:
             var bus = new FakeScaleoutBus(resolver, streams);
             resolver.Register(typeof(IMessageBus), () => bus);
             break;
         case MessageBusType.SqlServer:
             break;
         case MessageBusType.ServiceBus:
             break;
         case MessageBusType.Redis:
             break;
         default:
             break;
     }
 }
开发者ID:hallco978,项目名称:SignalR,代码行数:20,代码来源:HostedTest.cs

示例7: RegisterDependencies

        public static void RegisterDependencies(IDependencyResolver dependencyResolver,
            bool forceAppConfig,
            bool useAzureSqlDatabaseConfiguration,
            bool useLegacyQueueSerializer,
            bool registerEmailAlertSender)
        {
            // internal
            dependencyResolver.Register<ITableStorageQueryBuilder, TableStorageQueryBuilder>();
            dependencyResolver.Register<ITableContinuationTokenSerializer, TableContinuationTokenSerializer>();
            if (useLegacyQueueSerializer)
            {
                dependencyResolver.Register<IQueueSerializer, LegacyQueueSerializer>();
            }
            else
            {
                dependencyResolver.Register<IQueueSerializer, QueueSerializer>();
            }

            // configuration
            dependencyResolver.RegisterInstance<IConfiguration>(new Configuration.Configuration(forceAppConfig));

            // policies            
            dependencyResolver.Register<ILeaseManagerFactory, LeaseManagerFactory>();

            // runtime
            dependencyResolver.Register<IRuntimeEnvironment, RuntimeEnvironment>();
            
            // repositories and data storage
            dependencyResolver.Register<IQueueFactory, QueueFactory>();
            dependencyResolver.Register<IBlobRepositoryFactory, BlobRepositoryFactory>();
            dependencyResolver.Register<ITableStorageRepositoryFactory, TableStorageRepositoryFactory>();
            dependencyResolver.Register<ITableStorageConcurrencyManager, TableStorageConcurrencyManager>();

            // alerts
            if (registerEmailAlertSender)
            {
                dependencyResolver.Register<IAlertSender, AlertSender>();
            }
            else
            {
                dependencyResolver.Register<IAlertSender, NullAlertSender>();
            }

            dependencyResolver.Register<IAzureApplicationResourceFactory, AzureApplicationResourceFactory>();
        }        
开发者ID:vvmoppescapita,项目名称:AccidentalFish.ApplicationSupport,代码行数:45,代码来源:Bootstrapper.cs

示例8: ServerNode

            public ServerNode(IMessageBus bus)
            {
                // Give each server it's own dependency resolver
                Server = new MemoryHost();
                Resolver = new DefaultDependencyResolver();

                Resolver.Register(typeof(FarmConnection), () => new FarmConnection());
                Resolver.Register(typeof(IMessageBus), () => bus);

                var context = Resolver.Resolve<IConnectionManager>().GetConnectionContext<FarmConnection>();
                _connection = context.Connection;
            }
开发者ID:GondhiDinesh,项目名称:SignalR,代码行数:12,代码来源:DisconnectFacts.cs

示例9: Initialize

        public virtual void Initialize(int? keepAlive = -1,
                                       int? connectionTimeout = 110,
                                       int? disconnectTimeout = 30,
                                       int? transportConnectTimeout = 5,
                                       int? maxIncomingWebSocketMessageSize = 64 * 1024,
                                       bool enableAutoRejoiningGroups = false,
                                       MessageBusType type = MessageBusType.Default)
        {
            Resolver = Resolver ?? new DefaultDependencyResolver();

            _traceManager = Resolver.Resolve<ITraceManager>();
            _traceManager.Switch.Level = SourceLevels.Verbose;

            foreach (var sourceName in _traceSources)
            {
                TraceSource source = _traceManager[sourceName];
                source.Listeners.Add(_listener);
            }

            var configuration = Resolver.Resolve<IConfigurationManager>();

            if (connectionTimeout != null)
            {
                configuration.ConnectionTimeout = TimeSpan.FromSeconds(connectionTimeout.Value);
            }

            if (disconnectTimeout != null)
            {
                configuration.DisconnectTimeout = TimeSpan.FromSeconds(disconnectTimeout.Value);
            }

            if (transportConnectTimeout != null)
            {
                configuration.TransportConnectTimeout = TimeSpan.FromSeconds(transportConnectTimeout.Value);
            }

            configuration.MaxIncomingWebSocketMessageSize = maxIncomingWebSocketMessageSize;

            if (!keepAlive.HasValue)
            {
                configuration.KeepAlive = null;
            }
            // Set only if the keep-alive was changed from the default value.
            else if (keepAlive.Value != -1)
            {
                configuration.KeepAlive = TimeSpan.FromSeconds(keepAlive.Value);
            }

            IMessageBus bus = null;

            switch (type)
            {
                case MessageBusType.Default:
                    break;
                case MessageBusType.Fake:
                    bus = new FakeScaleoutBus(Resolver, streams: 1);
                    break;
                case MessageBusType.FakeMultiStream:
                    bus =  new FakeScaleoutBus(Resolver, streams: 3);
                    break;
                default:
                    throw new NotImplementedException();
            }

            if (bus != null)
            {
                Resolver.Register(typeof(IMessageBus), () => bus);
            }
        }
开发者ID:Choulla-Naresh8264,项目名称:SignalR,代码行数:69,代码来源:TracingTestHost.cs


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