2010-10-01 6 views
0

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

Когда я запускаю приложение, он создает сеансы NHibernate, которые я могу видеть в мониторе активности sqlserver. Но после завершения транзакции эта сессия не будет закрыта [я вижу сеанс в спящем режиме]. он закрывается через что-то через 5-10 минут [ByDefault].

Мы используем объект NHibernateDataContext. перед началом бизнес-операции, вызовите EnlistTransaction и завершение афера, он вызывает CompleteTransaction. Но все же я могу видеть сеанс сна на мониторе активности сервера Sql.

Может ли кто-нибудь иметь представление об этом, чтобы решить проблему?

ответ

1

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

Смежные вопросы