不能在 wcf 服务中使用 r.net
Cannot use r.net within a wcf service
我正在尝试将 R.net
WCF 服务设置为 运行 R 命令的服务器。
我已经设置了一个测试 WinForms 应用程序,一切正常。
我是这样使用的:
void init()
{
SetupPath()
engine = REngine.GetInstanceFromID("test");
if (engine == null) engine = REngine.CreateInstance("test");
engine.Initialize();
}
...
results.Add(engine.Evaluate(command).AsCharacter().ToArray());
我创建了一个等效的 WCF 服务,它的工作方式应该完全相同;
REngine.CreateInstance()
returns 一个有效的 REngine
对象,
engine.Initialize()
默默地使我的服务崩溃。 Try-Catch 部分被忽略,所以我看不到到底发生了什么。
在 WCF 服务中使用 R.net
的正确方法是什么?
不同行为的原因可能是什么?
在哪里可以看到崩溃的详细日志?
不使用 R.net
的服务调用成功完成。
winforms 测试应用程序和 WCF 服务都是 64 位的(我需要它们)。 (我没有设法设置 64 位 IIS Express 应用程序,所以我改用 IIS)。
我没能找到问题的原因,但是,切换到 R.NET.Community
包就成功了。
我正在尝试将 R.net
WCF 服务设置为 运行 R 命令的服务器。
我已经设置了一个测试 WinForms 应用程序,一切正常。
我是这样使用的:
void init()
{
SetupPath()
engine = REngine.GetInstanceFromID("test");
if (engine == null) engine = REngine.CreateInstance("test");
engine.Initialize();
}
...
results.Add(engine.Evaluate(command).AsCharacter().ToArray());
我创建了一个等效的 WCF 服务,它的工作方式应该完全相同;
REngine.CreateInstance()
returns 一个有效的 REngine
对象,
engine.Initialize()
默默地使我的服务崩溃。 Try-Catch 部分被忽略,所以我看不到到底发生了什么。
在 WCF 服务中使用
R.net
的正确方法是什么?不同行为的原因可能是什么?
在哪里可以看到崩溃的详细日志?
不使用
R.net
的服务调用成功完成。
winforms 测试应用程序和 WCF 服务都是 64 位的(我需要它们)。 (我没有设法设置 64 位 IIS Express 应用程序,所以我改用 IIS)。
我没能找到问题的原因,但是,切换到 R.NET.Community
包就成功了。