Как получить дополнительную информацию о незаконной попытке NHibernate связать коллекцию с двумя открытыми сеансами

Наш проект уже довольно давно успешно использует NHibernate. Однако за последние месяцы новой разработки нам удалось внести изменение, которое дало нам много:

NHibernate.HibernateException: незаконная попытка связать коллекцию с двумя открытыми сеансами

Это видно на нашем тестовом сервере. В наших системах разработки этого не происходит/почти не происходит.

Вопрос: Есть ли способ найти дополнительную информацию об этом исключении. Было бы полезно, если бы мы знали, например. какая коллекция создает проблему.

Мы попробовали NHibernate Profiler, но он не дает такой информации.

Спасибо, Виллем


person Willem    schedule 21.10.2011    source источник
comment
Точно такой же вопрос хотел задать. Речь идет об одной коллекции, и NHibernate точно знает, какая именно.   -  person tishma    schedule 25.10.2011


Ответы (1)


NHibernate использует (по умолчанию) log4net для ведения журнала.

Вы можете настроить его, установить уровень DEBUG для корневого регистратора, и вы получите всю возможную информацию о внутренней работе NHibernate, связанной с ошибкой.

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

person Diego Mijelshon    schedule 21.10.2011
comment
Спасибо Диего! Файлы log4net производят много данных. К сожалению, есть упоминание об исключении, которое я получаю, поэтому мне придется еще немного разобраться. - person Willem; 24.10.2011