예제 #1
0
        public void UmbracoAreaRegistrationReceivesMetadataFromIoC()
        {
            var codeBase     = Assembly.GetExecutingAssembly().CodeBase;
            var uri          = new Uri(codeBase);
            var path         = uri.LocalPath;
            var binFolder    = Path.GetDirectoryName(path);
            var settingsFile = new FileInfo(Path.Combine(binFolder, "web.config"));

            var autofacBuilder = new AutofacContainerBuilder();

            autofacBuilder.ForFactory(
                context => new UmbracoSettings(settingsFile))
            .KnownAsSelf();

            autofacBuilder.For <UmbracoAreaRegistration>()
            .KnownAsSelf()
            .WithResolvedParam(context => context.Resolve <IRouteHandler>("TreeRouteHandler"));

            //why is this here?

            var typeFinder         = new TypeFinder();
            var componentRegistrar = new UmbracoComponentRegistrar();

            componentRegistrar.RegisterEditorControllers(autofacBuilder, typeFinder);
            componentRegistrar.RegisterMenuItems(autofacBuilder, typeFinder);
            //componentRegistrar.RegisterPackageActions(autofacBuilder, typeFinder);
            componentRegistrar.RegisterPropertyEditors(autofacBuilder, typeFinder);
            componentRegistrar.RegisterSurfaceControllers(autofacBuilder, typeFinder);
            componentRegistrar.RegisterTreeControllers(autofacBuilder, typeFinder);

            //build the container
            var container = autofacBuilder.Build();

            var result = container.Resolve <UmbracoAreaRegistration>();

            Assert.IsNotNull(result);
        }
        public void UmbracoAreaRegistrationReceivesMetadataFromIoC()
        {
            var codeBase = Assembly.GetExecutingAssembly().CodeBase;
            var uri = new Uri(codeBase);
            var path = uri.LocalPath;
            var binFolder = Path.GetDirectoryName(path);
            var settingsFile = new FileInfo(Path.Combine(binFolder, "web.config"));

            var autofacBuilder = new AutofacContainerBuilder();

            autofacBuilder.ForFactory(
                context => new UmbracoSettings(settingsFile))
                .KnownAsSelf();

            autofacBuilder.For<UmbracoAreaRegistration>()
                .KnownAsSelf()
                .WithResolvedParam(context => context.Resolve<IRouteHandler>("TreeRouteHandler"));

            //why is this here? 

            var typeFinder = new TypeFinder();
            var componentRegistrar = new UmbracoComponentRegistrar();
            componentRegistrar.RegisterEditorControllers(autofacBuilder, typeFinder);
            componentRegistrar.RegisterMenuItems(autofacBuilder, typeFinder);
            //componentRegistrar.RegisterPackageActions(autofacBuilder, typeFinder);
            componentRegistrar.RegisterPropertyEditors(autofacBuilder, typeFinder);
            componentRegistrar.RegisterSurfaceControllers(autofacBuilder, typeFinder);
            componentRegistrar.RegisterTreeControllers(autofacBuilder, typeFinder);

            //build the container
            var container = autofacBuilder.Build();

            var result = container.Resolve<UmbracoAreaRegistration>();

            Assert.IsNotNull(result);
        }
 /// <summary>
 /// Default constructor that uses the standard UmbracoComponentRegistrar as the IComponentRegistrar
 /// </summary>
 /// <param name="httpApp"></param>
 public UmbracoContainerBuilder(TWebApp httpApp)
 {
     _httpApp            = httpApp;
     _settings           = UmbracoSettings.GetSettings();
     _componentRegistrar = new UmbracoComponentRegistrar();
 }