EF Code First и IIS переработка - PullRequest
       14

EF Code First и IIS переработка

0 голосов
/ 29 февраля 2012

У нас возникают ошибки на нашем сайте. Я проверил средство просмотра событий, и когда была выполнена перезагрузка пула приложений, проблемы в коде EF сначала начинают расти (обратите внимание, что это происходит не каждый раз, пул приложений перезагружается через каждые 2 часа, и есть случаи, хотя не всегда, что первые ошибки кода EF опытные).

        var user = GetSingle(u => u.Id == userId);
        if (user == null) throw new ArgumentNullException("user");

        AutoMapper.Mapper.CreateMap<User, SessionUserDetails>();
        var sessionUserDetails = AutoMapper.Mapper.Map<User, SessionUserDetails>(user);

Когда происходит сопоставление, возникает ошибка. Если пользователя нет, он выдаст исключение ArgumentNullException. Я дважды проверил User и SessionUserDetails, и оба имеют одинаковые переменные. Я не знаю, где еще искать.

Вот исключение из автомпера:

 System.NullReferenceException: Object reference not set to an instance of an object.
 at AutoMapper.ConfigurationStore.<>c__DisplayClass35.  <FindExplicitlyDefinedTypeMap>b__34(TypeMap x)
 at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
 at AutoMapper.ConfigurationStore.FindExplicitlyDefinedTypeMap(Type sourceType, Type destinationType)
 at AutoMapper.ConfigurationStore.CreateTypeMap(Type source, Type destination, String profileName)
 at AutoMapper.ConfigurationStore.CreateMap[TSource,TDestination](String profileName)
 at AutoMapper.ConfigurationStore.CreateMap[TSource,TDestination]()
 at AutoMapper.Mapper.CreateMap[TSource,TDestination]()
 at MVCAujourdhuiBL.Service.UserReg.UserService.GetUserDetails(Int32 userId)

Я не знаю, где еще искать. Я даже заставил IIS перезапустить, но я не могу повторить ошибку. Любая помощь приветствуется. :) Спасибо

1 Ответ

0 голосов
/ 29 февраля 2012

Действительно ли вызов CreateMap находится в вашем действии контроллера? Вы должны вытащить его в модуль app_start. Это не потокобезопасно и может быть причиной ваших проблем.

http://automapper.codeplex.com/workitem/3197

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...