我在C#交易模拟应用程序中使用R.NET运行一些R命令。当我运行第一次模拟时,一切正常。当我运行第二次模拟时,它会挂起。模拟应用程序在新的应用程序域中运行每个模拟。据我了解,R.NET只在一个应用程序域中运行。有没有办法解决这个问题,因为即使dispose方法也不允许再次初始化REngine对象。
答案 0 :(得分:0)
请勿使用
using (engine = REngine.GetInstance())
{
...
}
因为这最终会处理 REngine 实例并导致 已知的 RDotNet 问题 “单个 REngine 实例已被处理(即关闭)。多个引擎重新启动是不可能的。”
改为使用:
var engine = REngine.GetInstance();
...
不要处理它!