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


C# Container.RegisterSingle方法代码示例

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


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

示例1: Register

 public void Register(Container container)
 {
     container.RegisterSingle<IMapper, Mapper>();
     container.RegisterSingle<IConnectionStringProvider, ConnectionStringProvider>();
     container.RegisterSingle<IDbConnectionProvider, SqlConnectionProvider>();
     container.RegisterSingle<IEmailSender, EmailSender>();
 }
开发者ID:richardrcruzc,项目名称:skimur,代码行数:7,代码来源:Registrar.cs

示例2: App

 static App()
 {
     Container = new Container();
     Container.RegisterSingle(() => new Step1VM());
     Container.RegisterSingle(() => new Step2VM());
     Container.RegisterSingle(() => new Step3VM());
     Container.RegisterSingle(() => new Step4VM());
 }
开发者ID:NamXH,项目名称:Orchard,代码行数:8,代码来源:App.cs

示例3: RegisterServices

        public void RegisterServices(Container container) {
            container.Options.AllowOverridingRegistrations = true;
            container.RegisterPackage<Core.Bootstrapper>();

            container.RegisterSingle<IMembershipSecurity, DefaultMembershipSecurity>();
            container.RegisterSingle<IMembershipProvider, MembershipProvider>();

            if (Settings.Current.EnableJobsModule)
                DynamicModuleUtility.RegisterModule(typeof(ExceptionlessJobHttpModule));
        }
开发者ID:arpitgold,项目名称:Exceptionless,代码行数:10,代码来源:Bootstrapper.cs

示例4: Initialize

        public static void Initialize()
        {
            // Create the container as usual.
            var container = new Container();

            //setup logger
            container.RegisterSingle<ILogger>(() =>
                new LoggerConfiguration()
                .WriteTo.ColoredConsole()
                .WriteTo.Trace()
                .CreateLogger()
            );
            
            //instagram config for InstaSharp
            container.RegisterSingle<InstagramConfig>(() =>
            {
                var clientId = ConfigurationManager.AppSettings["clientId"];
                var clientSecret = ConfigurationManager.AppSettings["clientSecret"];
                var callbackUri = ConfigurationManager.AppSettings["callbackUri"];
                var redirectUri = ConfigurationManager.AppSettings["redirectUri"];

                var icfg = new InstagramConfig(clientId, clientSecret);
                icfg.CallbackUri = callbackUri;
                icfg.RedirectUri = redirectUri;
                return icfg;
            }
            );

            // Azure storage account
            container.RegisterSingle(() =>
            {
                var connectionString = ConfigurationManager.AppSettings["StorageConnectionString"];
                return CloudStorageAccount.Parse(connectionString);
            });

            // Azure table client
            container.RegisterSingle(() => container.GetInstance<CloudStorageAccount>().CreateCloudTableClient());

            //register our tablesets, in this case we only have one
            container.RegisterWebApiRequest<ITableSet<RealtimeSubscription>>(() =>
                new TableSet<RealtimeSubscription>(container.GetInstance<CloudTableClient>())
                );

            //register repositories
            container.Register<ISubscriptionRepository, SubscriptionRepository>(Lifestyle.Singleton);

            // This is an extension method from the integration package.
            container.RegisterWebApiControllers(GlobalConfiguration.Configuration);

            container.Verify();

            GlobalConfiguration.Configuration.DependencyResolver =
                new SimpleInjectorWebApiDependencyResolver(container);
        }
开发者ID:rleopold,项目名称:tagspy,代码行数:54,代码来源:SimpleIoC.cs

示例5: Register

 public void Register(Container container)
 {
     container.RegisterSingle(() =>
     {
         var rabbitMqHost = ConfigurationManager.AppSettings["RabbitMQHost"];
         if (string.IsNullOrEmpty(rabbitMqHost)) throw new Exception("You must provide a 'RabbitMQHost' app setting.");
         return RabbitHutch.CreateBus("host=" + rabbitMqHost);
     });
     container.RegisterSingle<ICommandBus, CommandBus>();
     container.RegisterSingle<IEventBus, EventBus>();
     container.RegisterSingle<IBusLifetime, BusLifetime>();
 }
开发者ID:gitter-badger,项目名称:skimur,代码行数:12,代码来源:Registrar.cs

示例6: InjectDependencies

        private void InjectDependencies(HttpConfiguration config)
        {
            var container = new Container();

            container.RegisterSingle(() => ChecklistRepository);
            container.RegisterSingle(() => ControllerConfiguration);

            container.RegisterWebApiControllers(config);
            container.Verify();

            config.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
        }
开发者ID:denholms,项目名称:LSCS,代码行数:12,代码来源:Startup.cs

示例7: RegisterImplementations

        public static void RegisterImplementations()
        {
            var container = new Container();

            container.RegisterSingle<IDbContextFactory, DbContextFactory>();
            container.RegisterSingle<ICacheStorage<string>, LocalCacheStorage>();
            container.RegisterSingle<ILogger, NLogLogger>();

            container.Verify();

            DependencyResolver.SetResolver(new SimpleInjectorDependencyResolver(container));
            GlobalConfiguration.Configuration.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
        }
开发者ID:robles,项目名称:northwind-dotnet,代码行数:13,代码来源:IoCConfig.cs

示例8: Register

        public void Register(Container container)
        {
            container.RegisterSingle<IUserStore<ApplicationUser, Guid>, ApplicationUserStore>();
            container.RegisterSingle<IIdentityMessageService, ApplicationIdentityMessageService>();
            container.RegisterSingle<ApplicationUserManager>();

            container.RegisterPerWebRequest<ApplicationSignInManager>();
            container.RegisterPerWebRequest<IUserContext, UserContext>();
            container.RegisterPerWebRequest<IContextService, ContextService>();

            container.RegisterMvcIntegratedFilterProvider();

            DependencyResolver.SetResolver(new SimpleInjectorDependencyResolver(container));
        }
开发者ID:gitter-badger,项目名称:skimur,代码行数:14,代码来源:Registrar.cs

示例9: InitSiteContainer

        private static void InitSiteContainer(Container container)
        {
            container.Register<Fx.Domain.Account.IService.IAccountService, Fx.Domain.Account.UserAccountService>();
            container.Register<Fx.Domain.FxSite.IService.IChannelService, Fx.Domain.FxSite.ChannelService>();
            container.Register<Fx.Domain.FxSite.IService.ISite, Fx.Domain.FxSite.SiteService>();

            container.Register<Fx.Domain.FxSite.IService.IGoods, Fx.Domain.FxSite.GoodsService>();
            container.Register<Fx.Domain.FxSite.IService.ICar, Fx.Domain.FxSite.CarService>();
            container.Register<Fx.Domain.FxSite.IService.IHouse, Fx.Domain.FxSite.HouseService>();

            //FxGoods
            container.Register<Fx.Domain.FxGoods.IService.ITransferGoods, Fx.Domain.FxGoods.FxTransferGoodService>();
            container.Register<Fx.Domain.FxGoods.IService.IBuyGoods, Fx.Domain.FxGoods.FxBuyGoodsService>();

            //FxCar
            container.Register<Fx.Domain.FxCar.IService.ITransferCar, Fx.Domain.FxCar.FxTransferCarService>();
            container.Register<Fx.Domain.FxCar.IService.IBuyCar, Fx.Domain.FxCar.FxBuyCarService>();

            //FxHouse
            container.Register<Fx.Domain.FxHouse.IService.ITransferHouse, Fx.Domain.FxHouse.FxTransferHouseService>();
            container.Register<Fx.Domain.FxHouse.IService.IBuyHouse, Fx.Domain.FxHouse.FxBuyHouseService>();

            //�������
            container.RegisterSingle<Fx.Infrastructure.Caching.ICacheManager, Fx.Infrastructure.Caching.CacheManager>();
        }
开发者ID:Aaronguo,项目名称:FxCacheService,代码行数:25,代码来源:SimpleInjectorInitializer.cs

示例10: InitializeContainer

        private static void InitializeContainer(Container container)
        {
            container.RegisterPerWebRequest<IDataContext, DataContext>();

            container.RegisterPerWebRequest<IUsersRepository, UsersRepository>();
            container.RegisterPerWebRequest<IRolesRepository, RolesRepository>();

            container.RegisterSingle<IConstantsProvider, DevConstantProvider>();

            container.RegisterPerWebRequest<IAuthenticationService, AuthenticationService>();
            container.RegisterPerWebRequest<IUsersService, UsersService>();
            container.RegisterPerWebRequest<IRolesService, RolesService>();
            container.RegisterSingle<IHashService, HashService>();

            container.RegisterPerWebRequest<ICurrentUserProxy, CurrentUserProxy>();
        }
开发者ID:accetone,项目名称:nulloc,代码行数:16,代码来源:SimpleInjectorInitializer.cs

示例11: RegisterDependencies

        /// <summary>
        /// Discovers any Func dependencies of the specified type and attempts to register them.
        /// </summary>
        /// <param name="concreteType">Concrete type for which the dependencies should be discovered
        /// and registered</param>
        /// <param name="container">SimpleInjector container in which the dependencies should be registered.</param>
        /// <param name="options">Options to apply to the discovery and registration process.</param>
        public void RegisterDependencies(Type concreteType, Container container, IAutoRegistrationOptions options)
        {
            foreach (var ctor in concreteType.GetConstructors().Where((x) => x.IsPublic))
            {
                foreach (var param in ctor.GetParameters().Where((x) => x.ParameterType.Name.StartsWith("Func`")))
                {
                    var funcParamType = param.ParameterType;
                    var genericArgType = funcParamType.GenericTypeArguments.FirstOrDefault();

                    if (genericArgType != null 
                     && genericArgType.IsInterface 
                     && options.AutoRegistrationEnabledProvider.IsAutoRegistrationEnabled(genericArgType))
                    {
                        //Since Funcs<> do not retain any state and the wrapped Func<> accounts for the
                        //lifestyle of the object, it can always be made singleton, while the wrapped
                        //type may be transient.
                        container.RegisterSingle(funcParamType, () =>
                        {
                            //Create a Func<> with the container in context to create an instance of the type
                            var method = typeof(ContextualFuncCreationHelper).GetMethod("GetFunc").MakeGenericMethod(genericArgType);
                            var funcInstance = new ContextualFuncCreationHelper(container);

                            return Delegate.CreateDelegate(funcParamType, funcInstance, method);
                        });
                    }
                }
            }
        }
开发者ID:keithaknight,项目名称:SimpleInjector.AutoRegistration,代码行数:35,代码来源:FuncDependencyRegistrationProvider.cs

示例12: RegisterTypes

        public static Container RegisterTypes()
        {
            Container container = new Container();

            #region Queue IoC

            container.RegisterSingle<IPublisher>(new Publisher(container));

            container.RegisterSingle(new MessageEmitter(container));

            container.RegisterSingle(new RabbitMQIntegrationModule(container));

            #endregion

            container.Verify();
            return container;
        }
开发者ID:serdardemir,项目名称:EasyBus,代码行数:17,代码来源:IocBootstrapper.cs

示例13: InitJobContainer

        private static void InitJobContainer(Container container)
        {
            container.RegisterSingle<FxTask.AppSettings>();
            container.RegisterSingle<FxTask.Filter>();

            //FxTaskFxCar
            container.Register<Fx.Domain.FxCar.IService.ICarBuyJob, Fx.Domain.FxCar.CarBuyJobService>();
            container.Register<Fx.Domain.FxCar.IService.ICarTransferJob, Fx.Domain.FxCar.CarTransferJobService>();


            //FxTaskFxGoods
            container.Register<Fx.Domain.FxGoods.IService.IGoodsBuyJob, Fx.Domain.FxGoods.GoodsBuyJobService>();
            container.Register<Fx.Domain.FxGoods.IService.IGoodsTransferJob, Fx.Domain.FxGoods.GoodsTransferJobService>();

            //FxTaskFxHouse
            container.Register<Fx.Domain.FxHouse.IService.IHouseBuyJob, Fx.Domain.FxHouse.HouseBuyJobService>();
            container.Register<Fx.Domain.FxHouse.IService.IHouseTransferJob, Fx.Domain.FxHouse.HouseTransferJobService>();
        }
开发者ID:tihou,项目名称:Fx.InformationPlatform.,代码行数:18,代码来源:SimpleInjectorInitializer.cs

示例14: Execute_InvokesQueryHandler_UsingContainerForResolution

 public void Execute_InvokesQueryHandler_UsingContainerForResolution()
 {
     var container = new Container();
     container.RegisterSingle<IProcessQueries, QueryProcessor>();
     container.RegisterManyForOpenGeneric(typeof(IHandleQuery<,>), Assembly.GetExecutingAssembly());
     container.Verify();
     var queries = container.GetInstance<IProcessQueries>();
     var result = queries.Execute(new FakeQueryWithoutValidator());
     result.ShouldEqual("faked");
 }
开发者ID:phobos04,项目名称:tripod,代码行数:10,代码来源:QueryProcessorTests.cs

示例15: InitializeContainer

 private static void InitializeContainer(Container container)
 {
     container.RegisterPerWebRequest<IDbConnection>(CreateConnection);
     container.RegisterSingle<Logger>();
     container.Register<IDbCommand>(() => new SqlCommand(string.Empty,container.GetInstance<IDbConnection>() as SqlConnection));
     container.RegisterPerWebRequest<IContactRepository, ContactRepository>();
     //container.RegisterManyForOpenGeneric(typeof(ICommandHandler<>), typeof(Contact).Assembly);
     container.RegisterPerWebRequest<ICommandHandler<CreateContactCommand>, CreateContactHandler>();
     container.RegisterDecorator(typeof (ICommandHandler<>), typeof (CommandAuditingHandler<>));
     container.Register<UnitOfWork>();
 }
开发者ID:GuyHarwood,项目名称:injectionLessons01,代码行数:11,代码来源:SimpleInjectorInitializer.cs


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