NHibernate 3, HttpModule и ошибки - PullRequest
       44

NHibernate 3, HttpModule и ошибки

0 голосов
/ 15 августа 2011

ФОН:

Создание запуска веб-приложения с NH3 с использованием HttpModule для управления созданием / фиксацией / откатом транзакции и сеанса.В случае возникновения ошибки я хотел бы вернуть простое сообщение пользователю, но откат транзакции.Присоединение к событию context.Error позволяет легко выполнить откат при исключении, однако оно никогда не будет вызываться, так как исключения перехватываются, отображая дружественное сообщение для пользователя.

Из-за описанной выше проблемы я собираюсьсоздать пользовательский сценарий работы и сохранить его в контексте Http для запроса.Если возникает ошибка, установите флаг RollbackRequired и попросите единицу работы выполнить откат на основе этого.Сохранение в сеансе в HttpContext - это то же самое, что использование CurrentSessionContext?

Если у кого-то есть другие мысли, я был бы великолепен.

Спасибо.

1 Ответ

0 голосов
/ 15 августа 2011

Сохранение в сеансе в HttpContext - это то же самое, что использование CurrentSessionContext?

Да, это почти то, что делает WebSessionContext.

Если бы у кого-то были другие мысли, я был бы великолепен.

Если вы поймали исключение, почему бы вам также не откатить его?

ISession.Transaction.WasCommitted и ISession.ITransaction.WasRolledback указывают на то, был ли откат транзакции выполнен. Вы можете зафиксировать его в своем HttpModule, если он не отменен и не зафиксирован.

...