我要在c#中调用Dcom服务,现在的问题是,我可以调用本机com组件,但是如何以dcom的方式被调用呢?
网上看到一个例子,但好像不是很好用:System.Guid guid=new Guid("BB7B3214-03D7-11D6-AEE1-52544C1B3FF5");//1
System.Type t=Type.GetTypeFromCLSID(guid,"192.168.0.1",true);//2
object COMobject=System.Activator.CreateInstance(t);//3
DCOMclass myclass=(DCOMclass)COMobject;//4第二句话,如果我只保留第一个参数,就相当于在本机进行调用,没有问题,但是如果我要用ip地址来设定第二个参数,那么在第4句话处就会出现转换问题。
请问谁又更好的防法来调用dcom,谢谢

解决方案 »

  1.   

    编写DCOM 生成的TLB,VBR 文件可以通过clireg32命令在你的开发机器上注册,
    然后在项目中引用一下,第4句就没用错误了我的方法(和你的是一样的):System.Type t = Type.GetTypeFromProgID("DCOM的ProgID", "远端服务器主机IP", true);
    object COMobject = System.Activator.CreateInstance(t);
    // 添加DCOM 在项目中的引用,可以变更类型为具体DCOM 的中定义的Class类型
    MyDCOM.DBClass xx = (MyDCOM.DBClass)COMobject;
    // xx 实例化好的DCOM 对象,完成