我们在我们的网站上遇到错误。我检查了事件查看器,并且执行应用程序池回收时,EF代码中的问题首先出现上升(请注意,这种情况不会每次都发生,应用程序池在每2小时后回收一次,并且存在实例,但并非总是如此,EF代码首先会出错经验丰富)。EF代码优先和IIS回收
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。我再次检查了用户和SessionUserDetails,并且都有相同的变量。我不知道还有什么可以看的。
这里是automapper例外:
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回收,但我无法复制错误。任何帮助将非常感激。 :)谢谢
在哪个地方你写在你的应用程序的代码AutoMapper? – 2012-02-29 08:58:28
你也可以检查Mapper是否在应用程序池回收后使用日志记录机制?如果是这样你我重新初始化,如下所示:http://stackoverflow.com/questions/5537192/automapper-configuration – 2012-02-29 09:07:14