我在一個較大的C#項目的一小部分內使用DLR,IronPython是有問題的語言。.NET DLR安全或沙盒腳本
對於系統的某些部分,用戶可以輸入一個小腳本來爲他們定製行爲。我想要做的是能夠限制他們使用副作用免費的純函數或在某種沙箱中,這樣他們的功能就不會碰到任何外部的東西。
此外,用戶只能輸入一個函數體,函數頭和參數說明在被傳遞到Python DLR引擎之前會自動預先寫入代碼中,以便調用它的系統的C#端完全知道要走過,什麼回來。用戶只需要基於作爲參數提供的值進行簡單的操作和測試。
例如
這是確定:return (a * 100) > b;
這是不正常:delete_file_system(); return (a * 100) > b;
會如何實現這一目標?是否有更合適的語言或技術選擇?