小编Dan*_*Dan的帖子

自定义IronPython导入解析

我正在从数据库加载IronPython脚本并执行它.这适用于简单的脚本,但导入是一个问题.如何拦截这些导入调用,然后从数据库加载适当的脚本?

编辑:我的主要应用程序是用C#编写的,我想在不编辑Python脚本的情况下拦截C#端的调用.

编辑:从我已经完成的研究来看,创建自己的PlatformAdaptationLayer看起来就像你应该实现它的方式,但它在这种情况下不起作用.我已经创建了自己的PAL,在我的测试中,我的FileExsists方法会在脚本中的每次导入时被调用.但由于某种原因,它永远不会调用该OpenInputFileStream方法的任何重载.通过IronPython源,一旦FileExists返回true,它就会尝试在路径上找到文件本身.所以这看起来像死路一条.

import ironpython

8
推荐指数
2
解决办法
2438
查看次数

SynchronizationContext和InvokeRequired

我一直在寻找这个问题的答案,但似乎找不到令人满意的答案。也许有人可以启发我。

我有一个后代,BindingList<T>用于存储对SynchronizationContext对象的引用,以在UI线程上引发其更改的事件。

现在,也有可能BindingList<T>在UI线程而不是后台线程上创建和使用它。没有InvokeRequired可用的财产该如何检查?调用SynchronizationContext.SendUI线程会有什么后果?

c# multithreading invokerequired winforms synchronizationcontext

5
推荐指数
1
解决办法
1606
查看次数