У меня проблема с приложением ASP.NET MVC, размещенным на IIS 7.5 в отдельном пуле приложений, настроенном с помощью AppPoolIdentity и .NET 4.0 Framework.
Приложение работает некоторое время нормально, и часть контроллеров неожиданно начинает выдавать исключение внутри StructureMap:
System.ArgumentNullException
: пробуем
найти экземпляр типа [MyType
]
Имя параметра: instance
в
StructureMap.InstanceCache.Get(Type
pluginType, Instance instance) +376
Запрошенный тип был зарегистрирован правильно (и был правильно разрешен за минуту до возникновения исключения). Я не могу подтвердить, что он все еще зарегистрирован, поскольку WhatDoIHave
также выдает исключение :
NullReferenceException
: объект
ссылка не установлена на экземпляр
объект. в
StructureMap.Diagnostics.WhatDoIHaveWriter.writeInstance(InstanceRef
instance) +133
Похоже, внутренний кэш StructureMap как-то поврежден .
Проблема исчезает , когда я меняю AppPoolIdentity на «реальные» учетные данные пользователя локальной системы. Так что, похоже, проблема где-то между IIS и StructureMap Может быть, переработка пула приложений создает проблемы здесь? Но он настроен на перезапуск каждые 1740 минут, и иногда происходит сбой через 5 минут после его запуска ...