Я хотел бы использовать прототипы-перехватчики вместо одноэлементного перехватчика, чтобы каждый сеанс получал новый экземпляр перехватчика.Как ссылаться на ObjectFactory Spring.Net в config?
Я изучил класс HibernateTransactionManager, и я думаю, что «EntityInterceptorObjectName» и «ObjectFactory» - это свойства, которые я должен установить.
В то время как EntityInterceptorObjectName довольно очевиден, У меня нет подсказки, как ссылаться на ObjectFactory, когда это «мать ObjectFactories», например. тот же ObjectFactory, который создает AppContext/HibernateTransactionManager.
Соответствующая часть конфигурации:
<object id="HibernateTransactionManager" type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate20">
<property name="DbProvider" ref="DbProvider"/>
<property name="SessionFactory" ref="SessionFactory"/>
<!-- the name of my non-Singleton EntityInterceptor-->
<property name="EntityInterceptorObjectName" value="MyPrototypeEntityInterceptor" />
<!-- What should I put as ref here? -->
<property name="ObjectFactory" ref="" />
</object>
<object id="MyPrototypeEntityInterceptor" type="Hib.EntityInterceptor, Hib.Interceptors" singleton="false">
</object>
Благодаря zoidbeck :) Я только что узнал, что HibernateTransactionManager уже реализует IObjectFactoryAware поэтому мне не нужно, чтобы установить ObjectFactory собственность на всех! Спасибо, что указал мне в правильном направлении. – tobsen
Хорошо, это действительно более элегантный способ. Рад, что я мог бы помочь хотя бы немного и THX для голосования :). – zoidbeck