Добавлять перехватчики через web.config?NHibernate ( ГИбернация )
-
19-09-2019 - |
Вопрос
Кажется, я не могу найти пример, где кто-то добавил перехватчик через web.config - возможно ли это?
И да, я знаю о прослушивателях событий и буду использовать их в другом проекте - но я хотел посмотреть, смогу ли я обойти необходимость внедрения перехватчика в код - спасибо
Решение
Я не думаю, что это поддерживается, но вы можете легко извлекать и создавать экземпляры перехватчиков из раздела пользовательской конфигурации:
NHibernate.Cfg.Configuration cfg = ...
var interceptors = (NameValueCollection) ConfigurationManager.GetSection("nhibernate.interceptors");
foreach (string k in interceptors)
cfg.SetInterceptor((IInterceptor) Activator.CreateInstance(Type.GetType(k)));
web.конфигурация:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="nhibernate.interceptors" type="System.Configuration.NameValueSectionHandler, System" />
</configSections>
<nhibernate.interceptors>
<add key="MyApp.Interceptors.SomeInterceptor, MyApp" value=""/>
<add key="MyApp.Interceptors.AnotherInterceptor, MyApp" value=""/>
</nhibernate.interceptors>
</configuration>
Не связан с StackOverflow