在两个.NET应用程序之间实现COM互操作类型集成(即用于Excel类型的自动化目的)的现代日期是什么?
例如,如果通过COM公开.NET应用程序API,则可以在COM客户端中获取该应用程序的运行时引用,并获取事件回调,调用方法等。
在两个.NET应用程序之间是否有适合此类的现代技术?我知道有.NET Remoting或WCF(即通过命名管道) - 有什么更新/更好的吗?
答案 0 :(得分:1)
IMO,使用WCF在相同的计算机上的两个桌面应用程序之间进行通信将是一种过度的做法。
我宁愿使用ROT或只是RegisterActiveObject
/ RevokeActiveObject
来注册服务器应用程序对象。然后,相应地,我使用ROT或GetActiveObject
从客户端应用程序获取此对象的COM代理。
为了进行通信,我使用了一些标准的COM接口,COM IPC编组可以编组而无需注册类型库(不需要RegAsm
)。例如,IOleCommandTarget
或自定义调度接口(ComInterfaceType.InterfaceIsIDispatch
,映射到非双重IDispatch
)。
与WCF相比,这可以通过最少的开发工作和运行时开销来完成。