2015-04-20 141 views
0

我在撥打Mapper.Map(object,object); 時出現Missing type map configuration error這是我目前的設置。缺少類型映射配置或不支持的映射。

的Global.asax.cs - 調用

AutoMapperAppSvcConfiguration.Configure(); 

Configuration.cs -

Mapper.Initialize(cfg => 
      { 
      cfg.AddProfile(new ExportProfile()); 
      }); 

    public class ExportProfile : Profile 
    { 
     protected override void Configure() 
     { 
      Mapper.CreateMap<JobDTO,JobSpec>(); 
     } 

導入任務文件:

var JobDTOSpec = new class JobDTO(); 
    // Fill in JobDTOSpec object with appropriate fields. 
    JobDTOSpec.property1 = "hello"; 

..... more properties. 
// JobDTO and JobSpec class are identical as well. 

    var JobSpec = AutoMapper.Mapper.Map(JobDTO, new JobSpec()); <-- Error occurs. 

每個任務的工作不會發生此錯誤( WCF服務調用)。我們目前正在運行100個任務工作。前30分鐘左右的繪圖工作正常。之後,我們開始獲取Mapping配置錯誤。我的問題是:有沒有什麼辦法Automapper會失去它的內存,因爲服務器(iis)正在超過成千上萬的工作和忘記映射(我們正在我們的WCF服務約2GB的內存在IIS上)。在某些調用之後是否有任何限制映射會重置它的映射內存,同時如果服務器獲得調用,它將不會識別/記住映射類型?還有什麼可能導致此內存問題或服務器負載過重的錯誤。

回答

0

請確保您在Profile類中調用base.CreateMap,而不是Mapper.CreateMap。

+0

我會試試看。你能告訴我這兩者之間的區別嗎? –

+0

CreateMap將地圖配置與配置文件相關聯。更重要的是,圍繞配置文件進行一些鎖定時,您在執行Mapper.CreateMap時,它不再是線程安全的。 –

相關問題