Я очень новичок в AutoFac и стараюсь использовать его для моего нового проекта с WebApi и Business Layer с контрактами и их соответствующими реализациями.Autofac с WebApi & Business Layer
Я написал IocConfiguration для webapi и вызывается из global.asax.
Однако, для моей бизнес-логики, как мне настроить все мои контракты и реализации с помощью autofac?
Я просмотрел некоторые обучающие онлайн, но, однако, я не нашел ничего полезного, если у кого-то есть пример приложения, ссылки, которые действительно помогают.
Edit:
AutoMapper профиль.
public class CustomProfile : Profile
{
protected override void Configure()
{
CreateMap<MyViewModel, MyModel>()
.ForMember(d => d.Id, s => s.MapFrom(src => src.Id));
}
}
Edit:
После нескольких долгих часов, проведенных на этом я понял, как настройки AutoMapper 4.2.1 с AutoFac. По-видимому, я использовал ConfigurationStore в AutoMapper 3.3.0, но я обновился до 4.2.1. Регистрация профиля немного изменилась. Ниже я работал для меня.
public class AutoMapperModule : Module
{
protected override void Load(ContainerBuilder builder)
{
Mapper.Initialize(cfg =>
{
cfg.AddProfile<MyProfile1>();
cfg.AddProfile<MyProfile2>();
});
base.Load(builder);
}
}
Большое спасибо за ответ. У меня есть мой webapi и бизнес в разных проектах, у меня есть контракты с бизнес-менеджерами в другом проекте. поэтому я вставляю интерфейс бизнес-менеджера в конструктор контроллера web-api. Как я уже сказал, я написал BusinessLayerModule, однако они не вызываются при загрузке. Однако businesslayermodule не загружается. Очевидно, что я не зарегистрировал модуль, builder.RegisterModule() Является ли мой подход правильным? –
Immortal
Ваш подход выглядит правильно. Вы используете DependencyInitializer в своем проекте? Все зависимости, фактически зарегистрированные там в построителе.Build() только после этого вы можете использовать их – Vladimir
Написать комментарий, если у вас все еще есть проблемы, я попробую помочь – Vladimir