AutoMapper 1.1 CreateMap вызывает исключение NullReferenceException после длительного времени безотказной работы

Я размещаю приложение, которое использует AutoMapper для преобразования одних классов в другие. До сегодняшнего дня все шло нормально. Приложение размещено уже около 3 месяцев. В промежутке мы провели несколько развертываний, в которых приложение было перезапущено, а IIS - нет.

Из ниоткуда приложение начало давать сбой, посмотрев журналы, мы выяснили, что это причина: Мы попытались решить проблему, перезапустив приложение, но это не помогло. Проблема была решена только перезапуском IIS.

Мы попытались найти источник, чтобы выяснить, что вызывает эту проблему, который мы загрузили по адресу https://github.com/jbogard/AutoMapper/ . Похоже, что исключение вызвано этим методом класса ConfigurationStore AutoMapper.

    private TypeMap FindExplicitlyDefinedTypeMap(Type sourceType, Type destinationType)
    {
        return _typeMaps.FirstOrDefault(x => x.DestinationType == destinationType && x.SourceType == sourceType);
    }

_typeMaps определяется в классе следующим образом.

    private readonly IList _typeMaps = new List();

Если мы проверим TypeMap, мы увидим, что ссылки x.DestionationType и x.SourceType к другим свойствам:

    private readonly TypeInfo _destinationType;
    private readonly TypeInfo _sourceType;

    public Type SourceType
    {
        get { return _sourceType.Type; }
    }

    public Type DestinationType
    {
        get { return _destinationType.Type; }
    }

Похоже, что _sourceType и / или _destionationType внезапно обнулились!

Кто-нибудь еще сталкивался с этой проблемой и / или знает ли кто-нибудь возможную причину этой проблемы и как мы можем предотвратить это в будущем?

7
задан Mike 10 December 2010 в 08:35
поделиться