я делаю какой-нибудь проект в замке Виндзоре и у меня есть некоторые проблемы с перехватчиком крюком в конфигурационном файле я создал класс, который impements IProxyGenerationHook
:замок Виндзор перехватчики селекторов и крючки
public class LoggingProxyGenerationHook : IProxyGenerationHook
{
#region IProxyGenerationHook Members
public void MethodsInspected()
{
//throw new Exception("The method or operation is not implemented.");
}
public void NonVirtualMemberNotification(Type type, System.Reflection.MemberInfo memberInfo)
{
//throw new Exception("The method or operation is not implemented.");
}
public bool ShouldInterceptMethod(Type type, System.Reflection.MethodInfo methodInfo)
{
return methodInfo.Name.StartsWith("Save", StringComparison.Ordinal);
}
#endregion
}
Все, что я хочу сделать, это для перехвата методов, имя которых начинается с «Сохранить» и динамически подключается к ним в файле конфигурации. Кроме того, в конфигурационном файле у меня есть следующие:
<component id="LoggingAspect" type="DynamicInterceptor.LoggingAspect, DynamicInterceptor"></component>
<component id="LoggingProxyGenerationHook" type="DynamicInterceptor.LoggingProxyGenerationHook, DynamicInterceptor"></component>
<component id="TestClass1" type="TestClasses.TestClass1, TestClasses">
<interceptors hook ="${LoggingProxyGenerationHook}">
<interceptor>${LoggingAspect}</interceptor>
</interceptors>
</component>
Я полагаю, что я делаю что-то неправильно в конфигурационном файле. Любые идеи?
так, что не работает так, как можно было бы ожидать? –
Что значит не фильтровать? Не вызывается или его возвращаемое значение игнорируется? Или что-то другое? Будьте более сложными, если вы хотите, чтобы кто-то помог вам, не оставляйте людей догадываться. –
@nikolavas: Это нечестно сказать. Krzysztof потратил много своего времени и сил на замок, даже улучшив документацию на замок. –