如果使用winform 程序
这样做是OK的Dim objWizard As Object
Set objWizard1 = CreateObject("BillExpImp.ClsBill")
objWizard1.ImpBill propstring, "C:\2.xls", 4, , , , 1但是当把这写代码放在web services的方法里执行(会把2.xls的内容导入第三方系统,BillExpImp.dll是第三方系统提供的COM组件),没有报错,但是没有导入任何数据。web services调用COM组件的方法要进行其他转换或者有其他方法可以做到吗? 

解决方案 »

  1.   

    可以调用第三方组件,但是在服务器上执行,操作的c:\2.xls文件也是服务器上的不是本地的
    本地的xls文件,你需要读成byte数组的形势传给webservice,webservice根据byte数组来生成xls文件,再导入到第三方系统
      

  2.   

    客户的实际情况是两台服务器分开的。
    我本来想先让客户登录到其中一台,使用Winform程序把xls文件导出。然后通过共享或者什么方式让B服务器可以访问到。然后再让客户登录到B,也是有一个winform程序把这个xls文件导入。第三方系统都安装在A,B服务器上,导入导出操作都使用第三方系统的COM组件(因为winform程序直接调用没问题)。但是客户说这样做太麻烦,想在B中直接把导入和导出完成。所有我想到使用 web services 在B服务器调用A的COM组件方法
      

  3.   

    web services中调用本地的com组件肯定是可以的~~~
      

  4.   

    我在本机测试的,使用Winform可以,使用web services不行,有什么方法可以检查出原因
      

  5.   

    有没有调用本地COM组件的代码参考一下
      

  6.   

    或者说在A,B两台服务器分别按照了两个winform程序,那么有什么技术可以在B服务器上的winform程序运行或者执行A服务器上winform程序或者winform程序的方法
      

  7.   

    我以前做过类似的,建议这样做,创建一个windows servcie程序,windows servcie host一个wcfservice,在这里来调用com组件。 然后webservice使用wcf proxy client, 通过wcf 来调用wcf servcie。这样用没问题的。
      

  8.   

    xls文件也可以通过wcf service传输过来。
      

  9.   

    WebService 是可以直接调用串口的,其用法和Winform里的是一样的。还是使用SerialPort。 
      

  10.   

    使用.net remoting 解决了