NHibernate Interceptor - что это такое - PullRequest
5 голосов
/ 09 января 2010

Что такое NHibernate Interceptor и для чего он предназначен в приложении?

Кроме того, в этой статье я узнал, что использование NHibernate замедляет настольное приложение при запуске, поэтому во избежание этого мне нужно сохранить конфигурацию в файл, а затем загрузить ее из сохраненного файл. Как я могу это сделать? Я не нашел примеров в этом уроке.

Ответы [ 3 ]

8 голосов
/ 09 января 2010

Перехватчик позволяет вам выполнять дополнительные функции, когда объект извлекается / удаляется / обновляется / вставляется в БД ...

Артикул перехватчика

Спящий документ

другая полезная информация

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

Когда вы создаете фабрику сеансов, NHibernate будет анализировать все сопоставления, и это довольно дорогая операция. Но пока у вас есть ограниченное количество объектов, производительность не так велика.
Мне никогда не приходилось оптимизировать инициализацию NHibernate из-за медленного времени запуска.

Я бы посоветовал вам сначала сконцентрироваться на ядре вашего приложения - проблеме, которую вы пытаетесь решить, - а затем посмотрите, как можно улучшить производительность при запуске. (Если вам когда-нибудь придется это делать).

6 голосов
/ 10 января 2010

Перехватчики , как само название говорит, позволяет перехватывать операции NHibernate (сохранять / обновлять / удалять / загружать / очищать / и т.д.).

Более новый и гибкий API для достижения этой цели - система событий .

О сериализации конфигурации, код есть, это класс Effectus.Infrastructure.BootStrapper, который вызывается при запуске приложения.

4 голосов
/ 19 февраля 2012

Написанная мной серия рассечения перехватчика находится здесь http://blog.scooletz.com/2011/02/03/nhibernate-interceptor-magic-tricks-pt-1/

надеюсь, это поможет

...