探讨一下可行性:C# (winform) 调用corba的设计思想解决方法

探讨一下可行性:C# (winform) 调用corba的设计思想
         
      目前情况:客户端程序是用c#写的windows application,需要调用服务端的corba接口。

   为了方便c#客户端的调用,拟写一个中间程序来调用服务端的corba服务。

      中间层:
      用java来写,其实就是一个很简单的TCP/IP通信,在指定的端口listen,接到客户端的连接和调用请求,然后就调用远端的corba相应的方法,并将返回结果返回给客户端。


      客户端:

      毫无疑问用c#,通过TCP/IP,和中间层connect之后,发送相应的请求。


       当前,使用java调用corba服务的方法的主要程序如下:(接录)

	//读取jacorb属性文件
String fileNamePath = System.getProperty("user.home") + File.separator+ "jacorb.properties";
try {
InputStream is = new BufferedInputStream(new FileInputStream(fileNamePath));
this.InitProperties();
if (is != null)
{
load(is);
}

for (Object t : this.keySet()) {
System.out.println(t + "=" + this.getProperty(t.toString()));
}

} catch (Exception e) {
System.out.println("读取属性文件失败,请确认文件是否存在!");
return;
}
......

orb = org.omg.CORBA_2_5.ORB.init(args, props);

// 获取服务对象引用
org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
// 通过命名服务对象得到命名服务上下文
NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
NameComponent ncArray[] = { new NameComponent(ID, Kind) };

if( obj._is_a("IDL:hi/modHK/intHK:1.0"))
{
hi.modHK._intHKStub stub;
stub = new hi.modhk._intHKStub();
stub._set_delegate(((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate());
}

         //
         调用服务端的GetPersonInfo方法
short[] ret=......GetPersonInfo(java.lang.String idcode, java.lang.String personname,java.lang.String pwswd, java.lang.String nbbm, short[] arr);

............

------解决方案--------------------
探讨一下可行性:C# (winform) 调用corba的设计思想解决方法

corba是啥不懂,如果是 c#写的windows 通过TCPIP与JAVA通信的话,就直接Socket封包就行了,不用什么corba
------解决方案--------------------
http://sourceforge.net/projects/iiop-net/?source=directory

iiop.net