2012-07-24 71 views
0

我在我的應用程序中嵌入IronPython。一切正常,但我發現,當我使用CreateScriptSourceFromFile來執行文件時,看起來IronPython緩存了其他導入的模塊。IronPython託管緩存導入模塊?

比如我有另一個文件中,foo.py

foo = 'foo' 

我使用IronPython的託管API執行bar.py

from foo import foo 
print foo 

如果我更改bar.py則無需退出主機應用程序我可以看到我的更改生效。但是,如果我編輯foo.py,那麼我必須重新啓動我的應用程序才能看到更改。我已經在選項中啓用了Debug,但它沒有幫助。

請指教。非常感謝。

回答

2

是的,導入的模塊由ScriptEngine實例緩存。如果您想自動重新加載緩存模塊,則必須創建新的引擎實例。目前沒有辦法禁用它並始終重新加載模塊。

禁用緩存行爲的選項不是一個壞主意;以便它在雷達上。當然,修補程序更好。