如何将C#客户端RPC写入远程本机C ++服务器?

时间:2012-03-03 09:41:47

标签: c# com rpc

我必须实现一个C#客户端,访问在远程计算机上运行的具有RPC接口的本机C ++ server.exe。

这样做的推荐方法是什么?

我的想法是:

  1. 在客户端编写C ++ DLL,使用RPC与服务器通信,通过COM公开其接口,然后C#访问COM接口。(我体验到了。)
  2. 在客户端编写C ++ DLL,使用RPC与服务器通信,在C ++ CLR中包装接口,然后直接C#访问它们。(不熟悉C ++ CLR包装器)
  3. 有更直接的方法吗?我用谷歌搜索了其他一些术语,比如Remoting,它的继任者WCF,然后是DCOM,它们是我可以使用的东西吗?

    我的标准越简单越好,因为我是一个懒惰的程序员。如果可能的话,首选新技术,我的意思是如果WCF是Remoting的新替代品,我会使用WCF代替Remoting。

1 个答案:

答案 0 :(得分:1)

可能最简单的选择是在客户端编写一个C ++ DLL,它使用RPC与服务器通信,并通过pinvoke在DLL中具有C#调用函数。这里的主要任务是在托管和本机之间设置函数参数的编组。该任务的复杂性取决于界面的复杂程度。