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


C# IContainer.RegisterDelegate方法代码示例

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


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

示例1: RegisterDependencies

 private static void RegisterDependencies(IContainer container)
 {
     container.Register<IBrowserConfigService, BrowserConfigService>(Reuse.InWebRequest);
     container.Register<ICacheService, CacheService>(Reuse.InWebRequest);
     container.Register<IFeedService, FeedService>(Reuse.InWebRequest);
     container.Register<ILoggingService, LoggingService>(Reuse.InResolutionScope);
     container.Register<IManifestService, ManifestService>(Reuse.Transient);
     container.Register<IOpenSearchService, OpenSearchService>(Reuse.Transient);
     container.Register<ISitemapService, SitemapService>(Reuse.Transient);
     container.Register<ISitemapPingerService, SitemapPingerService>(Reuse.Transient);
     container.RegisterDelegate<IRobotsService>(resolver => new RobotsService(), Reuse.Singleton);
     container.Register<HomeController>(Reuse.InWebRequest);
 }
开发者ID:devworker55,项目名称:SourceLab,代码行数:13,代码来源:DryIocDependencyConfiguration.cs

示例2: ConfigureContainer

        public void ConfigureContainer(IContainer container)
        {
            container.RegisterDelegate<IProvideHashing>(r => _CryptograhyManager.HashProvider);
            container.Register<IResourceVersionProvider, DefaultResourceVersionProvider>(Reuse.Singleton);
            container.Register<ICanonicalizationService, DefaultCanonicalizationService>(Reuse.Singleton);
            container.Register<IResourceValidatorFactory, ServiceLocatorResourceValidatorFactory>();
            container.Register<IManagePasswords, DefaultPasswordManager>(Reuse.Singleton);

            // register all resource and resource extension validators
            container.Register<ResourceExtensionValidators>(Reuse.Singleton);
            _ServerConfiguration
                .ResourceTypeDefinitions
                .ForEach(rtd =>
                {
                    if (rtd.SchemaExtensions.Any())
                    {
                        rtd.SchemaExtensions
                            .ForEach(
                                ext =>
                                    container.Register(
                                        typeof(IResourceExtensionValidator),
                                        ext.ExtensionValidatorType,
                                        reuse: Reuse.Singleton));
                    }

                    container.Register(rtd.ValidatorType, reuse: Reuse.Singleton);
                });
            
            container.Register<IUserRepository, InMemoryUserRepository>(Reuse.Singleton, ifAlreadyRegistered: IfAlreadyRegistered.Keep);
            container.Register<IGroupRepository, InMemoryGroupRepository>(Reuse.Singleton, ifAlreadyRegistered: IfAlreadyRegistered.Keep);

            // register all business logic services for built-in endpoints
            container.RegisterDelegate(r => r.Resolve<IServiceProviderConfigurationService>(AmbientRequestService.ProtocolVersion));
            container.RegisterDelegate(r => r.Resolve<ISchemaService>(AmbientRequestService.ProtocolVersion));
            container.Register<IUserService, UserService>(Reuse.Singleton);
            container.Register<IGroupService, GroupService>(Reuse.Singleton);
        }
开发者ID:PowerDMS,项目名称:Owin.Scim,代码行数:37,代码来源:Registry.cs

示例3: App

        public App(Action<IContainer> setupContainer)
        {
            this.container = new Container().WithMefAttributedModel();
            this.container.RegisterExports(GetAssemblies());
            container.RegisterDelegate<IContainer>(r => container, Reuse.Singleton);
            if (setupContainer != null)
            {
                setupContainer(this.container);
            }

            var mainPage = container.Resolve<MainPage>();

            var navPage = new NavigationPage(mainPage);
            var navService = container.Resolve<INavigationService>();
            navService.Initialize(navPage);
            this.MainPage = navPage;
        }
开发者ID:nirinchev,项目名称:ProgressLogger,代码行数:17,代码来源:App.cs

示例4: ConfigureContainer

        /// <summary>
        /// Configures the DryIoc <see cref="T:DryIoc.IContainer" /> instance.
        /// </summary>
        /// <param name="container">The container.</param>
        public void ConfigureContainer(IContainer container)
        {
            // Since the priority is lower than Owin.Scim's default registry, this method will execute after all
            // default registrations occur.

            // Configure AutoMapper to translate ScimUser and your application's user.
            var mapperConfiguration = new MapperConfiguration(
                config =>
                {
                    config.CreateMap<KernelUser, ScimUser2>();
                    config.CreateMap<ScimUser, KernelUser>()
                        .ReverseMap()
                        .Include<KernelUser, ScimUser2>();
                });
            container.RegisterDelegate<IMapper>(resolver => mapperConfiguration.CreateMapper());

            // Replace any IUserRepository implementation with our own.
            container.Register<IUserRepository, CustomUserRepository>(ifAlreadyRegistered: IfAlreadyRegistered.Replace);
        }
开发者ID:PowerDMS,项目名称:Owin.Scim,代码行数:23,代码来源:Registry.cs

示例5: RegisterToContainer

		internal static void RegisterToContainer(IContainer cb, IObjectFactoryBuilder rb)
		{
			foreach (var item in rb.Types)
			{
				switch (item.Scope)
				{
					case InstanceScope.Transient:
						if (item.AsType == null || item.AsType.Length == 0)
							cb.Register(item.Type, Reuse.Transient);
						else foreach (var t in item.AsType)
								cb.Register(t, item.Type);
						break;
					case InstanceScope.Singleton:
						if (item.AsType == null || item.AsType.Length == 0)
							cb.Register(item.Type, Reuse.Singleton);
						else foreach (var t in item.AsType)
								cb.Register(t, item.Type, Reuse.Singleton);
						break;
					default:
						if (item.AsType == null || item.AsType.Length == 0)
							cb.Register(item.Type, Reuse.InResolutionScope);
						else foreach (var t in item.AsType)
								cb.Register(t, item.Type, Reuse.InResolutionScope);
						break;
				}
			}
			foreach (var item in rb.Instances)
			{
				var type = item.AsType ?? item.Instance.GetType();
				cb.RegisterInstance(type, item.Instance);
			}
			foreach (var it in rb.Funcs)
			{
				var item = it;
				if (item.AsType == null || item.AsType.Length == 0)
					throw new NotSupportedException("Result type must be defined. Declared Func result is not defined");
				switch (item.Scope)
				{
					case InstanceScope.Transient:
						foreach (var t in item.AsType)
							cb.RegisterDelegate(t, c => item.Func(c.Resolve<IObjectFactory>()), Reuse.Transient);
						break;
					case InstanceScope.Singleton:
						foreach (var t in item.AsType)
							cb.RegisterDelegate(t, c => item.Func(c.Resolve<IObjectFactory>()), Reuse.Singleton);
						break;
					default:
						foreach (var t in item.AsType)
							cb.RegisterDelegate(t, c => item.Func(c.Resolve<IObjectFactory>()), Reuse.InResolutionScope);
						break;
				}
			}
		}
开发者ID:dstimac,项目名称:revenj,代码行数:53,代码来源:DryIocObjectFactory.cs


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