Выпуск AUTOFAC и MVC4 при разрешении -> Пожалуйста, проверьте мой код

StackOverflow https://stackoverflow.com//questions/20015461

Вопрос

Я использую Autofac с MVC4, но как-то при попытке разрешить его не удалось.Я не получаю никакой ошибки во время редакторов.Код выглядит так:

    public void Register()
    {
        List<Assembly> assemblies = new List<Assembly>();
        assemblies.Add(Assembly.Load("KidsWear.DataLayer"));
        assemblies.Add(Assembly.Load("KidsWear.Repositories"));
        assemblies.Add(Assembly.Load("KidsWear.Contexts"));
        assemblies.Add(Assembly.Load("KidsWear.Entities"));
        assemblies.Add(Assembly.GetExecutingAssembly());

        var builder = new ContainerBuilder();
        builder.RegisterAssemblyTypes(assemblies.ToArray()).AsImplementedInterfaces();
        builder.RegisterControllers();
        //builder.RegisterControllers(Assembly.GetExecutingAssembly());
        var container = builder.Build();
        // test -> isRegistered  returns fals
        var isRegistered = container.IsRegistered(typeof(IProductRepository));
        // This line raises error: The requested service //KidsWear.Repositories.IProductRepository' has not been registered. 
        var concrete = container.Resolve<IProductRepository>();
        // End test
        DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
    }
.

У меня есть все свои интерфейсы внутри «Kidswear.Repositories», фактическая реализация находится внутри «Kidswear.Datalayer», «Kidswear.contexts» имеет универсальный репозиторий и контекст.Интерфейс продуктаперерабатывающего интерфейса выглядит ниже:

public interface IProductRepository : IGenericRepository<Product>
{

}
.

Репозиторий продуктов наследует от универсального и проводимого ипродукториста, как это:

public class ProductRepository : GenericRepository<Product>, IProductRepository
{
    public ProductRepository()
    {

    }

    //Todo: add any extra subs specific to Product
}
.

Кто-нибудь может сказать мне, почему эта регистрация не работает и что такое эта ошибка?Просто в режиме отладки, если я навязываю на контейнер, я вижу, что он был инициализирован.

Большое спасибо

Это было полезно?

Решение

Этот точный код работал отлично.Не на самом деле уверен, что проблема была.Не уверены, если Visual Studio нужен перезапуск или Autofac играл плохо !!!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top