多次使用REngine对象

时间:2016-03-08 17:42:23

标签: r.net

我在C#交易模拟应用程序中使用R.NET运行一些R命令。当我运行第一次模拟时,一切正常。当我运行第二次模拟时,它会挂起。模拟应用程序在新的应用程序域中运行每个模拟。据我了解,R.NET只在一个应用程序域中运行。有没有办法解决这个问题,因为即使dispose方法也不允许再次初始化REngine对象。

1 个答案:

答案 0 :(得分:0)

请勿使用

using (engine = REngine.GetInstance())
{
  ...
}

因为这最终会处理 REngine 实例并导致 已知的 RDotNet 问题 “单个 REngine 实例已被处理(即关闭)。多个引擎重新启动是不可能的。”

改为使用:

var engine = REngine.GetInstance();
...

不要处理它!