2016-12-30 1 views
1

SimpleInjector에 내 AutoMapper 클래스를 등록하려면 어떻게해야합니까?AutoMapper 및 SimpleInjector

public class AutoMapperConfig 
{ 
    public static MapperConfiguration RegisterMappings() 
    { 
     return new MapperConfiguration(cfg => 
     { 
      cfg.AddProfile(new DomainToViewModelMappingProfile()); 
      cfg.AddProfile(new ViewModelToDomainMappingProfile()); 
     }); 
    } 
} 
+1

보통 AutoMapperConfiguration.Configure();를 호출합니다. 내 GlobalAsax.cs에 app_startup에 –

+0

[중복 인젝터로 AutoMapper 4.2.0을 등록하는 방법] 가능한 복제본 (http://stackoverflow.com/questions/35370733/how-to-register-automapper-4-2-0- with-simple-injector) – G0dsquad

+0

예, @federicoscamuzzi에서 말했듯이, AppStart에서 AutoMapper를 초기화하는 것이 더 일반적입니다. =>'public static class AutomapperConfig {// 정적 설정 클래스 eg Mapper.Initialize (cfg => {...})}' – G0dsquad

답변

1

변경과 같은 정적 인 ..로 automapperConfig 클래스 :

이 내 MapperConfig 클래스는

container.RegisterSingleton(Mapper.Configuration); 
container.Register<IMapper>(**--What should I put here?--**) 

입니다 :

은 매퍼 SimpleInjector를 등록 내 클래스의 일부이다
public static class AutoMapperConfig 
{ 
    public static MapperConfiguration RegisterMappings() 
    { 
     return new MapperConfiguration(cfg => 
     { 
      cfg.AddProfile(new DomainToViewModelMappingProfile()); 
      cfg.AddProfile(new ViewModelToDomainMappingProfile()); 
     }); 
    } 
} 

그런 다음이 정보를 App_start의 GlobalAsax.cs 파일에서 다음과 같이 호출하십시오.

public class WebApiApplication : HttpApplication 
    { 
     protected void Application_Start() 
     { 
      AreaRegistration.RegisterAllAreas(); 
      GlobalConfiguration.Configure(WebApiConfig.Register); 
      FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
      RouteConfig.RegisterRoutes(RouteTable.Routes); 


      // Register Mapping Configuration on Start up 
      AutoMapperConfiguration.Configure(); 

     } 

     protected void Application_End() 
     { 
      //Cleanup all resources 

     } 
    } 
+0

확인하지만 ASP를 사용하지 않는 경우 .Net, 데스크톱 응용 프로그램 또는 콘솔을 사용하는 경우 – Dariel

+0

콘솔 또는 WPF 응용 프로그램에 해당하는 App_start를 찾으십시오. 첫 번째 줄에서 Program.cs에 AutoMapperConfiguration.Configure();를 호출 할 수도 있습니다. –