我有一个使用 ESRI ArcGIS Engine 在 C# 中开发的基于插件的应用程序。由于 32 位操作系统 (WindowsXP) 的 2/3G 虚拟内存限制,我必须将其重写为进程外插件架构。在旧的源代码中,几乎每个插件都直接调用 MapControl 对象(ESRI ArcGIS Engine 软件中的 COM 对象)。包装器 MapControl 及其相关对象作为远程对象时,工作量太大。
问题是,有没有办法对 MapControl COM 对象进行进程间调用,这样我就不用费心做很多包装了?
在使用 C# 进行开发时,.Net 对象和 COM 对象之间存在称为 CCW(COM Callable Wrapper) 的桥梁以进行中间通信。它是否可以拦截 CCW 对象并使其成为远程对象?