C# 如何将Automapper iMapping与asp.net bolierplate一起使用?

C# 如何将Automapper iMapping与asp.net bolierplate一起使用?,c#,automapper,castle-windsor,aspnetboilerplate,C#,Automapper,Castle Windsor,Aspnetboilerplate,亲爱的, 我使用Automapper IMappingAction将映射操作前后封装到可重用的小类中,但我无法使我的类与ASPNET BolierCastle Windsor一起工作 configuration.CreateMap<CustomerDto, Customer>() .AfterMap<CustomerAction>().ReverseMap(); public class CustomerAction : IMappingAction<Custo

亲爱的, 我使用Automapper IMappingAction将映射操作前后封装到可重用的小类中,但我无法使我的类与ASPNET BolierCastle Windsor一起工作

configuration.CreateMap<CustomerDto, Customer>()
 .AfterMap<CustomerAction>().ReverseMap();

public class CustomerAction : IMappingAction<CustomerDto, Customer>
{
    private readonly IObjectMapper _objectMapper;

    public CustomerAction(IObjectMapper objectMapper)
    {
        _objectMapper = objectMapper;
    }

    public void Process(CustomerDto customerDto, Customer customer)
    {

    }
}
configuration.CreateMap()
.AfterMap().ReverseMap();
公共类CustomerAction:ImapingAction
{
私有只读IObjectMapper\u objectMapper;
公共CustomerAction(IObjectMapper对象映射器)
{
_objectMapper=objectMapper;
}
公共作废流程(CustomerDto CustomerDto、Customer)
{
}
}
当我的代码被执行时,我得到一个异常,我的类没有无参数构造函数

configuration.CreateMap<CustomerDto, Customer>()
 .AfterMap<CustomerAction>().ReverseMap();

public class CustomerAction : IMappingAction<CustomerDto, Customer>
{
    private readonly IObjectMapper _objectMapper;

    public CustomerAction(IObjectMapper objectMapper)
    {
        _objectMapper = objectMapper;
    }

    public void Process(CustomerDto customerDto, Customer customer)
    {

    }
}
你试过这个吗

cfg.CreateMap<CustomerDto, Customer>().AfterMap((source, destination) =>
{
    var action = IocManager.IocContainer.Resolve<CustomerAction>();
    action.Process(source, destination);
}).ReverseMap();

public class CustomerAction : IMappingAction<CustomerDto, Customer>, ITransientDependency
{
    private readonly IObjectMapper _objectMapper;

    public CustomerAction(IObjectMapper objectMapper)
    {
        _objectMapper = objectMapper;
    }

    public void Process(CustomerDto customerDto, Customer customer)
    {

    }
}
cfg.CreateMap().AfterMap((源、目标)=>
{
var action=IocManager.IocContainer.Resolve();
行动。过程(来源、目的地);
}).ReverseMap();
公共类CustomerAction:ImapingAction、ITransientDependency
{
私有只读IObjectMapper\u objectMapper;
公共CustomerAction(IObjectMapper对象映射器)
{
_objectMapper=objectMapper;
}
公共作废流程(CustomerDto CustomerDto、Customer)
{
}
}

这里有一个指向文档的链接,可能会有所帮助:我已经阅读了此文档,但我不知道如何将automapper与样板IOC集成,而样板IOC类实际上没有无参数构造函数?您是否尝试过向该类添加没有参数的构造函数?欢迎@maliming;)他无法打开AspNet Zero私有存储库链接,除非他拥有正在进行的AspNet Zero许可证。但你的答案似乎是正确的<代码>ITransientDependency应该可以工作。