Мне было интересно, знаком ли это кому-либо из разработчиков NHibernate или кто-то может дать мне представление о том, с чего начать, чтобы попытаться решить эту проблему:
Я унаследовал сайт NHibernate, написанный на ASP.NET 1.1, с использованием NHibernate 0.6 и удаленного взаимодействия .NET с уровнем DAL, находящимся на сервере базы данных. Я пытался обновить его до ASP.NET 3.5 и NHibernate 1.2.1.4.
Я заменил настройку удаленного взаимодействия .NET на прямое соединение с базой данных, и все работает нормально, пока сайт не нагружается, а затем вызовы NHibernate периодически перестают выдавать исключение: ADOException не может выполнить запрос с последующими сгенерированными операторами NHibernate SQL .
Трассировка стека, указанная с ошибкой:
NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Object id, IType identifierType, Object optionalObject, Type optionalEntityName, Object optionalIdentifier, IEntityPersister persister)
at NHibernate.Loader.Entity.AbstractEntityLoader.Load(ISessionImplementor session, Object id, Object optionalObject, Object optionalId)
at NHibernate.Loader.Entity.AbstractEntityLoader.Load(Object id, Object optionalObject, ISessionImplementor session)
at NHibernate.Persister.Entity.AbstractEntityPersister.Load(Object id, Object optionalObject, LockMode lockMode, ISessionImplementor session)
at NHibernate.Impl.SessionImpl.DoLoad(Type theClass, Object id, Object optionalObject, LockMode lockMode, Boolean checkDeleted)
at NHibernate.Impl.SessionImpl.DoLoadByClass(Type clazz, Object id, Boolean checkDeleted, Boolean allowProxyCreation)
at NHibernate.Impl.SessionImpl.Load(Type clazz, Object id)