我似乎找不到有人通过 web.config 添加拦截器的示例 - 这可能吗?
是的,我知道事件监听器并将在另一个项目中使用它们 - 但我想看看我是否可以绕过在代码中注入拦截器 - 谢谢
我似乎找不到有人通过 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)));
网络配置:
<?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>