[Ironpython-users] .NET Remoting and Interface based objects

Muyal,Tsahi Tsahi.Muyal at kla-tencor.com
Tue Oct 11 23:38:51 CEST 2011


I tried using typedproxy class

Not sure I am using it the right way

 

This is what I did

 

test = typedproxy(TransparentProxy, IServerInterface)

 

test.IServerInterfaceMethod()

 

This call is failing with "Expected IServerInterface, got
MarshalByRefObject"

 

I debugged the code to find out where it is failing, it is in typedproxy
(I marked the line)

 

class typedproxy(object):

    __slots__ = ['obj', 'proxyType']

    def __init__(self, obj, proxyType):

        self.proxyType = proxyType

        self.obj = obj

    def __getattribute__(self, attr):

        proxyType = object.__getattribute__(self, 'proxyType')

        obj = object.__getattribute__(self, 'obj')

        att = getattr(proxyType, attr)

        att2 = att.__get__(obj, proxyType) #This line is throwing the
exception

        return att2

 

Any idea?

 

Thank you very much;

Tsahi Muyal

 

From: Dino Viehland [mailto:dinov at microsoft.com] 
Sent: Tuesday, October 11, 2011 10:58 PM
To: Muyal,Tsahi; ironpython-users at python.org
Subject: RE: .NET Remoting and Interface based objects

 

I'm not quite certain this is the same issue but you should try using
the wrapper from this thread:

 

http://lists.ironpython.com/pipermail/users-ironpython.com/2006-Septembe
r/003549.html

 

The transparent proxies always succeed when casting them to an interface
type so it's hard for us to work w/ the objects when we need to check
for certain interfaces ourselves.

 

From: ironpython-users-bounces+dinov=microsoft.com at python.org
[mailto:ironpython-users-bounces+dinov=microsoft.com at python.org] On
Behalf Of Muyal,Tsahi
Sent: Tuesday, October 11, 2011 9:13 AM
To: ironpython-users at python.org
Subject: [Ironpython-users] .NET Remoting and Interface based objects

 

Hi,

I am trying to call our .NET service via remoting using IronPython

I have the transparent proxy object but I don't know how to cast it to
the interfaces (that are implemented by the server side object) 

 

I tried IServerInterface.SomeMethod(transparent-proxy-object) but it is
failing with "expected IServerInterface, got MarshalByRefObject"

 

How can I cast it to an interface?

 

I am using 2.7

 

Thanks in advance,

Tsahi Muyal

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20111011/450142ab/attachment.html>


More information about the Ironpython-users mailing list