[IronPython] remoting from IronPython

Ralph Soons ralph.soons.asml at hotmail.com
Thu Jun 15 09:43:39 CEST 2006

I am using a seperate process. After I include IronPython.dll in the library 
where my remote object is implemented, I get the following exception:
"Attempted to call a method declared on type 
'IronPython.Runtime.IDynamicObject' on an object which exposes 
'RemotingServerClient.ServerTalk'." (RemotingServerClient.ServerTalk is my 
remote object)
If you need the stacktrace, see the attachment.

I also have another problem. I was trying to get an event via remoting from 
the server back to my client (using client activated objects setting). I 
include a library in both the server as the python client in which my remote 
object is implemented. This also contains a delegate to be used for the 
event. When I try to register a delegate from the python client, I get the 
following exception:
Cannot serialize delegates over unmanaged function pointers, dynamic methods 
or methods outside the delegate creator's assembly.
When using a c# client, this works ok.

Thanks for your help.
Ralph Soons

>From: Dino Viehland <dinov at exchange.microsoft.com>
>Reply-To: Discussion of IronPython <users at lists.ironpython.com>
>To: Discussion of IronPython <users at lists.ironpython.com>
>Subject: Re: [IronPython] remoting from IronPython
>Date: Wed, 14 Jun 2006 17:16:03 -0700
>Are you remoting to another process, or to another app domain?  Does the 
>other process have access to IronPython.dll ?
>One thing you might want to try doing is installing IronPython into the GAC 
>(assuming this is beta 7, or if you re-built w/ the Signed Release or 
>Signed Debug build modes w/ your own key), and then try this.   This would 
>ensure that the type would be loadable in both app domains, even if the 
>files aren't readily available.  It's also go a long way to making sure 
>we're getting loaded into the correct loader context.
>Another helpful debugging tip for debugging CLR interaction issues is 
>running IronPythonConsole w/ the -X:ExceptionDetail option.  That will get 
>you a much better stack trace about where the issue is occurring.
>I'd need to get some time to setup a repro to be able to say much more 
>about this - but it's definitely something we'll want to make works (or 
>understand why it doesn't if it's impossible to make work) before 1.0.
>-----Original Message-----
>From: users-bounces at lists.ironpython.com 
>[mailto:users-bounces at lists.ironpython.com] On Behalf Of Ralph Soons
>Sent: Wednesday, June 14, 2006 6:57 AM
>To: users at lists.ironpython.com
>Subject: Re: [IronPython] remoting from IronPython
>Hi again,
>I searched a little further and found out the following:
>When using remoting - server activated objects:
>and s = NameSpace.RemoteObject()
>I discovered the "Cannot load type 'clr:IronPython.Runtime.IDynamicObject,
>IronPython...." exception occurs on the following location:
>namespace: IronPython.Runtime
>file: Ops.cs
>funtion: public static DynamicType GetDynamicType(object o) {
>Line: if (dt != null) return dt.GetDynamicType(); (line 562)
>during debuging I discovered that 'object o' (input of the function) is of 
>type MarshalByRefObject so I guess its my remote object. The first line in 
>the function is IDynamicObject dt = o as IDynamicObject;. dt is not null 
>after executing this line. This is strange because its being casted to 
>IDynamicObject, which isn't implemented by my remote object. There after 
>when the next line is executed if (dt != null) return dt.GetDynamicType();, 
>the exception occurs.
>Can anyone tell me why this is going wrong?
>I also tried to use client activated objects. In that case the remoting 
>call is working correctly.
>Thanks for your help again.
>Ralph Soons
> >From: "Ralph Soons" <ralph.soons.asml at hotmail.com>
> >Reply-To: Discussion of IronPython <users at lists.ironpython.com>
> >To: users at lists.ironpython.com
> >Subject: [IronPython] remoting from IronPython
> >Date: Wed, 14 Jun 2006 09:09:57 +0200
> >
> >Hi all,
> >
> >I am trying to call an function on a server via remoting, using 
> >First I created a c# server/client to test everything.
> >
> >In the C# client I have the following code:
> >RemotingConfiguration.Configure("executablename.exe.config", false);
> >RemoteObject object = new RemoteObject(); I can now reach my remote
> >object from the client.
> >
> >There after I used IronPython to do the same in python:
> >System.Runtime.Remoting.RemotingConfiguration.Configure("IronPythonTest
> >.exe.config",
> >0)
> >s = NameSpace.RemoteObject()
> >I now get the following error:
> >Cannot load type 'clr:IronPython.Runtime.IDynamicObject, IronPython
> >
> >I also tried:
> >s = System.Activator.GetObject(
> >System.Type.GetType(NameSpace.RemoteObject),
> >"http://localhost:9000/mytest" )
> >I then get this error:
> >#  File , line 0, in GetObject##10
> >#  File mscorlib, line unknown, in GetObject
> >#SystemError: Trying to create a proxy to an unbound type.
> >
> >Can someone tell me if its possible to use remoting from IronPython or
> >does any one has an idea what I am doing wrong?
> >
> >Many thanks!
> >Ralph Soons
> >
> >_________________________________________________________________
> >Play online games with your friends with MSN Messenger
> >http://www.join.msn.com/messenger/overview
> >
> >_______________________________________________
> >users mailing list
> >users at lists.ironpython.com
> >http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>MSN Search, for accurate results! http://search.msn.nl
>users mailing list
>users at lists.ironpython.com
>users mailing list
>users at lists.ironpython.com

Play online games with your friends with MSN Messenger 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: stacktrace.txt
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20060615/01ee57a8/attachment.txt>

More information about the Ironpython-users mailing list