[IronPython] [python] IronPython and C# asynchronous events

Michael Foord fuzzyman at voidspace.org.uk
Tue Oct 23 18:59:02 CEST 2007


Hello Noah,

We've had no problems with synchronous and asynchronous events from 
IronPython (possibly try using the CallTarget0 delegate?), which 
suggests something wrong with your code.

Michael
http://www.manning.com/foord

McCalment, Noah wrote:
> All,
>  
> I've been having some trouble connecting IronPython to events in C#.
> The issue is illustrated in the short test class and test script
> attached to this email.  Specifically, the problem is this: When an
> external event is raised to this C# class, the event handler calls a
> function which iterates through the list of subscribers.  When these
> subscribers are invoked synchronously, there is no issue; everything
> works fine.  However, if the subscribers are invoked asynchronously,
> IronPython methods cannot be directly added to the subscriber list.  An
> ArgumentNullException exception is thrown inside the .Net runtime
> library, somewhere in the bowels of the remoting subsystem.  My
> questions are these: 1) Is it possible to make asynchronous events "just
> work", i.e. allow IronPython scripts to simply call += on an event
> member in a C# class and have the subscriber fire whether it is
> synchronous or asynchronous?  2) I have found a workaround that involves
> using reflection to retrieve a MethodInfo object that gets passed to
> Delegate.CreateDelegate().  However, this requires me to dynamically
> compile a C# helper class to handle events, because I cannot find a way
> to retrieve a MethodInfo for a stock IronPython method.  Is this
> possible, and if so, how?
>
> Thanks for your time,
> Noah
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>   




More information about the Ironpython-users mailing list