I don’t think that I would really require
multiple engine instances if I could use separated sessions (system states). I
could keep the states around and swap them in and out as required. One possible problem: I create a new
session and run a script in it. This script triggers the execution of another
script. I would then need to unplug the current session, create a new session
and run the script inside it. After the second script finishes I need to put
the original session back and let it finish executing. I can imagine that it
would give problems to swap sessions while one was executing (although it was temporarily
suspended). Using AppDomains or multiple Threads doesn’t
seem like a workable solution. It would get very complex to make the data the
PythonEngine needs to operate on available in the other AppDomain. As for using
threads: multithreading and user interfaces don’t work well together. (I
would have hoped that WPF fixed this problem, but alas…) I don’t really need an immediate
solution for this. I’m just experimenting now. I think that the scenario
that I’ve outlined is an important use for IronPython: to integrate in a
.NET application and extend it with programmable and flexible extra functionality. |
_______________________________________________ users mailing list users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com