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

Reply via email to