Пример #1
0
        protected override void RegisterTypes(IUnityContainer container)
        {
            base.RegisterTypes(container);
            var config = new AuthorizationConfiguration <MyDefaultAuthorizer>();

            config.AddTypeAuthorizer <Foo, FooAuthorizer>();
            config.AddTypeAuthorizer <Qux, QuxAuthorizer>();

            container.RegisterInstance <IAuthorizationConfiguration>(config, (new ContainerControlledLifetimeManager()));
            container.RegisterType <IFacetDecorator, AuthorizationManager>("AuthorizationManager", new ContainerControlledLifetimeManager());

            var reflectorConfig = new ReflectorConfiguration(
                new[] {
                typeof(QueryableList <Foo>)
            },
                new[] {
                typeof(SimpleRepository <Foo>),
                typeof(SimpleRepository <FooSub>),
                typeof(SimpleRepository <SubTypeOfFoo>),
                typeof(SimpleRepository <Bar>),
                typeof(SimpleRepository <Qux>),
                typeof(FooService),
                typeof(BarService),
                typeof(QuxService)
            },
                new[] { typeof(Foo).Namespace });

            container.RegisterInstance <IReflectorConfiguration>(reflectorConfig, new ContainerControlledLifetimeManager());
        }
Пример #2
0
        protected override void RegisterTypes(IServiceCollection services)
        {
            base.RegisterTypes(services);
            var config = new AuthorizationConfiguration <MyDefaultAuthorizer>();

            config.AddTypeAuthorizer <Foo, FooAuthorizer>();
            config.AddTypeAuthorizer <Qux, QuxAuthorizer>();

            services.AddSingleton <IAuthorizationConfiguration>(config);
            services.AddSingleton <IFacetDecorator, AuthorizationManager>();
        }
        public void TestCreateOk()
        {
            var config = new AuthorizationConfiguration <ITypeAuthorizer <object> >();

            config.AddNamespaceAuthorizer <INamespaceAuthorizer>("1");
            config.AddTypeAuthorizer <object, ITypeAuthorizer <object> >();

            // ReSharper disable once UnusedVariable
            var sink = new AuthorizationManager(config);
        }