That most definitely should not.Can you create a test case?

On Thu, Jun 25, 2009 at 5:41 PM, Belvasis <[email protected]>wrote:

> Now i'm confused ;) Did you think i called the MethodInfo.Invoke from
> inside the intercepto? No, no i didn't. That this results in an endless loop
> is clear. I did simply:
> Obj = CreateInterfacProxyWithTarget
> pMethod.Invoke(obj...)
>
> And Inside the interceptor:
>
> ...
> If( check(...))
>   invocation.proceed()
>
> This leads to a StackOverflow...
>
> Am 25.06.2009 um 16:09 schrieb Ayende Rahien <[email protected]>:
>
> It _is_, from the OUTSIDE.You are calling this from the intereceptor!
>
> On Thu, Jun 25, 2009 at 5:03 PM, Belvasis < <http://belvasis.de>
> belvasis.de@ <http://googlemail.com>googlemail.com> wrote:
>
>> No thats not what i want or need :( I thought it would be completely
>> transparent for the user of the object if it i proxied or not. This is true
>> if you work with the public signature of the object, but not if you use
>> reflection as far as i can see.  I wanted the developer to call something
>> like TaskRegistry.invokeTask("taskDef"). In the end this builds a stateless
>> Task object. Every method of the Task can be decorated with an
>> TaskImplementor("taskDef") Attribute and those methods should be intercepted
>> to check availability, permission etc., if the are invoked. So i have to use
>> reflection for it. Maybe i have to think about other ways to do this.
>>
>> Regards
>>
>>
>> Am 25.06.2009 um 10:01 schrieb Ayende Rahien < <[email protected]>
>> [email protected]>:
>>
>> Yes, that is what you want, no?
>>
>> On Thu, Jun 25, 2009 at 10:50 AM, Belvasis < 
>> <http://belvasis.de><http://belvasis.de>
>> belvasis.de@ <http://googlemail.com> <http://googlemail.com>
>> googlemail.com> wrote:
>>
>>> But if i invoke the method on the DynProxyGetTarget() - object it
>>> bypasses the interceptor, or do Ido something wrong? On the other hand
>>> what you say means, you have alwys to know if an object is a proxy or
>>> not. Is this wanted?
>>>
>>> Thanks and regards
>>>
>>> Am 25.06.2009 um 02:01 schrieb Ayende Rahien < 
>>> <[email protected]><[email protected]>
>>> [email protected]>:
>>>
>>> That is the expected behavior.Invoking a method using Invoke will mean
>>> that you get back to the interceptor.
>>> The workaround you specified is how this should work.
>>>
>>> On Thu, Jun 25, 2009 at 2:55 AM, Belvasis < 
>>> <http://belvasis.de><http://belvasis.de><http://belvasis.de>
>>> belvasis.de@ <http://googlemail.com> 
>>> <http://googlemail.com><http://googlemail.com>
>>> googlemail.com> wrote:
>>>
>>>>
>>>>
>>>>
>>>>
>>>> >
>>>>
>>>> > Hi,
>>>> > I have the following problem:
>>>> > I want to invoke a method on a proxy
>>>> > using MethodInfo.Invoke(...). The method should be intercepted, if the
>>>> > InterceptorSelector decided to do so.
>>>> > The problem is, that the Interceptor.Intercept method is called in
>>>> > an endless loop, if invocation.Proceed is called Inside the
>>>> > interceptor. Anyone an idea why this happend? If i invoke the
>>>> > corresponding MethodInfo of the DynProxyGetTarget() - object, it
>>>> > works as expected.
>>>> >
>>>> > Thanks
>>>> > Belvasis
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to