AntyaDev / KingAOP

.NET AOP framework - a free alternative of PostSharp.
MIT License
259 stars 99 forks source link

IronPython exposed class integration doesn't work? #4

Open ch-hristov opened 8 years ago

ch-hristov commented 8 years ago

I'm trying to intercept the method calls to a ironpython exposed c# object.For whatever reason this doesn't quite work. I'm trying to find out why but so far no success. Maybe there is some apparent reason why this is the case?

ch-hristov commented 8 years ago

What I notice is that whenever the method I wish to be intercepted gets called KingAOP enters this line :

https://github.com/AntyaDev/KingAOP/blob/master/src/VS%202010/KingAOP/AspectWeaver.cs#L74

This however checks for properties and I expect it to check for methods.

I define my interception as follows:

public class InterceptedAspect : OnMethodBoundaryAspect
{
    public override void OnInvoke(MethodInterceptionArgs args)
    {
        Console.WriteLine("A");
        base.OnInvoke(args);
        Console.WriteLine("B");

        args.Proceed();
    }
}

And I use this attribute to mark the methods of my IronPython exposed object.

I assume this is probably related to IronPython doing some mumbo-jumbo stuff to the variables being exposed using the same Dynamic stuff used here.