Com组件提供Web Services(二)

C# 专栏收录该内容
5 篇文章 0 订阅

Com组件提供Web Service(二)
追风(VisualSW)

选择生成文件的路径。

点击下一步

9

生成文件成功。

 

打开生成文件的目录,可以看到多了以下文件:

 

注册IIS监听

1.打开IIS MMC,新建一个虚拟目录指向刚才生成的文件地址。

2.进入Windows cmd,进入C:/Program Files/MSSOAP/Binaries输入下面命令 c:>soapvdir.cmd UPDATE DLLServices改命令注册一个ISAPI DLL来监听请求。

 

这样Com组件就开始提供WEB服务了,下面来测试一下

打开VB,创建工程,添加Soap引用

添加如下代码:

Dim oSoapClient
   
Dim nResult
   
 
   
Set oSoapClient = CreateObject ("MSSOAP.SoapClient30")
   
If (Err <> 0) Then
   
            MSgBox "Initialization of the SOAP Toolkit failed."
   
            Return
   
End If
   
 
   
Call oSoapClient.MsSoapInit ("http://localhost/DLLServices/DLLService.WSDL", "MyService", "")
   
If (Err <> 0) Then
   
            MSgBox "Error initializing the WSDL file."
   
            Return
   
End If
   
 
   
nResult = oSoapClient.Add (3, 4)
   
MsgBox "Result of 3+4 = " & CStr(nResult)
   
 
   
Set oSoapClient = Nothing
   
 
   
如果能看到结果则表示使Com组件提供Web Service成功
   

 

 

创建组件的.NET代理类

还是使用上面例子中的VBDLL.dll组件。

微软的.NET Framework提供了一个工具Type Library Importer (Tlbimp.exe),用来将Com组件封装为一个.NETassembly,这样就可以在VS.NET中使用封装好的VBDLL.dll.NET代理类了。

 

1.生成代理类

 F:/SW/MS.NET/Web Services/VB>"D:/Program Files/Microsoft Visual Studio .NET/FrameworkSDK/Bin/tlbimp.exe" vbdll.dll /out:vb_proxy.dll

Microsoft (R) .NET Framework Type Library to Assembly Converter 1.0.3705.0

Copyright (C) Microsoft Corporation 1998-2001.  All rights reserved.

Type library imported to F:/SW/MS.NET/Web Services/VB/vbdll_proxy.dll

这样就在当前目录下生成了vbdll_proxy.dll.net assembly

我们使用Intermediate Language Disassembler (Ildasm.exe)可以看到assembly的信息,

 

2.打开VS.NET,新建ASP.NET Web Service

 

3.添加vbdll_proxy.dll的引用

4.添加Web方法

[WebMethod]

public int Add(int a,int b)

{                                              
   

          vb_proxy.clsAddClass obj=new vb_proxy.clsAddClass();

          return obj.Add((short)a,(short)b);
}

5.编译Web Service

6.测试,同上列

 

结束语:

两种方法都可以实现Com组件提供Web服务,相比起来第二种方法简单一些。

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值