Регистрация dll Autofac с помощью Assembly.Load

Я пытаюсь зарегистрировать dll с именем "BigEye.Business" и привязать этот файл к проекту mvc 3. Но когда я пытаюсь получить экземпляр объекта в этой dll, autofac говорит, что он не зарегистрирован. Вот как я регистрирую и разрешаю объект:

private static IContainer SetDIContainer()
        {
            var builder = new ContainerBuilder();
            builder.RegisterControllers(Assembly.GetExecutingAssembly());
            builder.RegisterType<UserAuthManager>().As<IUserAuth>().InstancePerHttpRequest();
            builder.RegisterType<SessionManager>().As<ISession>().InstancePerHttpRequest();


            //Here is the code to register that dll
            var services = Assembly.Load("BigEye.Business");
            builder.RegisterAssemblyTypes(services);
            IContainer container = builder.Build();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            return container;
        }

        public static T GetInstance<T>()
        {
            IContainer container = SetDIContainer();

            using(var httpRequestScope = container.BeginLifetimeScope("httpRequest"))
            {
                return httpRequestScope.Resolve<T>();
            }

        }

И когда я вызываю функцию GetInstance, я получаю "Запрошенная служба "BigEye.Interfaces.Business.IUser" не зарегистрирована". Должен ли я регистрировать все компоненты в Business dll? Есть ли способ сделать это? Потому что объекты и услуги в Бизнесе со временем будут меняться.

Спасибо

8
задан mehmetserif 10 May 2012 в 08:40
поделиться