我正在开发一个基于.NET的服务器组件,使用各种特定于目的地的协议与一组目的地(特别是权益期权交易所)通信。下一个我们计划添加的目的地使用CORBA,因此我正在研究可以说话CORBA的.NET库。
到目前为止,我已经找到了三个可能性:
- IIOP.NET 是一个开源项目,似乎成熟并且活跃。
- J-Integra Espresso 是Intrinsyc的一套Microsoft <-> Java互操作性工具之一。
- VisiBroker for .NET (以前名为“Janeva”)是Borland的VisiBroker CORBA包的一个模块。
有没有人对这些有任何好或坏的经验?
还有其他选择吗?
我可以通过混合本机托管C++/CLI代码来使用基于C ++的CORBA库(omniORB和TAO似乎是前两个,但还有其他)。但数据在某个时刻需要到达和从服务器的托管核心,这会增加序列化的性能成本,并且在混合代码场景中使用本机C ++库往往非常痛苦。
更新-我们已经开始使用IIOP.NET,目前看起来非常不错。最近版本(1.9 sp1)的性能似乎可以接受,并且API相当容易使用。如果IIOP.NET不起作用,我一定会像Todd Stout建议的那样查看IKVM,这看起来是一个非常有趣的可能性。
更新#2(2010年7月)-我们已经在生产中使用IIOP.NET一段时间,并取得了良好的结果。IIOP.NET项目并不是我所谓的活跃项目,但CORBA也不是,因此似乎没有太大的需求进行更多开发。