可以从多个AppDomains使用R.NET吗?在documentation的末尾有一个对“多个应用程序域”的引用,但没有进一步的信息。
场景是,我有一个本质上是交易系统IDE的东西。每次运行交易系统时,都会为其创建一个新的AppDomain,以便在其中运行,以便可以卸载程序集,并且可以在以后修改和重新编译代码。一个用户is reporting说,当他试图从一个系统中使用R.NET时,他第一次运行它就能工作,但在那之后它挂起了,他必须重新启动开发环境。
有没有一种方法可以正确地清理R.NET连接,以便以后可以在不同的AppDomain中创建新的连接,或者其他一些方法来处理这个问题?
发布于 2015-06-07 20:06:12
问题的根源是.NET世界中的AppDomains之间存在冲突(可能是因为您的交易平台将它们用作独立的沙箱),并且每个进程只能有一个R引擎,并且只能初始化一次。此问题以前曾出现过-有关更多背景信息,请参阅this feature request。
R.NET可以使用跨域体操解决这个问题,但这很复杂,可能会违背应用程序域隔离的目的。据我所知,每个进程一个R引擎是没有商量余地的。
https://stackoverflow.com/questions/30560500
复制相似问题