I'm a bit confused about IProxyGenerationHook. Maybe I'm not using it
correctly (there is zero docs on it), or it's not working correctly?
I'm using 1.0 Release Candidate 3 - September 20, 2007 from the
download pages.
I have an Interceptor that I've created. However, I would like the
Interceptor to only intercept methods with a specific attribute on
them. I was originally doing all of this from the Interceptor itself,
but then started looking at the ProxyGenerationOptions class. It
allows me to specify a IProxyGenerationHook. So, I implemented the
following class:
internal class CacheableMethodHook : IProxyGenerationHook
{
public bool ShouldInterceptMethod(Type type, MethodInfo
memberInfo)
{
object[] customAttributes =
memberInfo.GetCustomAttributes(typeof (CacheableAttribute), true);
return customAttributes.Length > 0;
}
public void NonVirtualMemberNotification(Type type, MemberInfo
memberInfo)
{
return;
}
public void MethodsInspected()
{
return;
}
}
However, what happens is that I get the following:
Method 'QueryAll' in type
'ISiteDaoProxy46feaa53f3264bc2aa67ff254bb0925e' from assembly
'DynamicProxyGenAssembly2, Version=0.0.0.0, Culture=neutral,
PublicKeyToken=null' does not have an implementation.
When the ShouldInterceptMethod of CacheableMethodHook runs, it does
return false for the QueryAll method. I was expecting that when it
returns false, the the Interceptor just calls invocation.Proceed()
automatically. Is the the intention or have I missed something in the
use of IProxyGenerationHook?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Castle Project Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/castle-project-users?hl=en
-~----------~----~----~----~------~----~------~--~---