您现在的位置是: 软件 > 开发者网络 > 技术跟踪 > XML与.NET专栏 > 正文


-Win xp中的多种网络
-试验试验试验试验
-用Freehand实现位图矢量化
-网络电话面面观

Microsoft .NET框架和Visual Studio.NET中的SOAP
2001-12-19· ·Keith Ballinger,Jonathan Hawkins,Pranish Kumar··microsoft

上一页  1 2 3 4 5  下一页


  访问 Web Serivces

  除了使开发人员能够创建 Web Services 的技术之外,Microsoft .NET 框架还提供了一套用来“使用”(即以客户端身份访问)Web Services 的成熟工具与代码。因为 Web Services 基于简单对象访问协议 (SOAP) 和 HTTP 等开放协议,所以这种客户端技术也可以用于使用非 ASP.NET Web Services。

  SDK 中有一种称为 WebServiceUtil.exe 的工具(在 VS IDE 中使用“Add Web Reference...”选项时自动生效)。这个程序可用于下载 Web Service 的 WSDL 说明,然后创建表示这个服务的地址的代理类。例如,您可以输入:

WebServiceUtil /c:proxy /pa:http://someDomain.com/someFolder/HelloWorld.asmx?SDL

  然后,系统将创建称为 HelloWorld.cs 的代理类。

  这个类与前面创建的类看起来非常相似。它包括称为 SayHelloWorld 的方法,该方法返回字符串。将这个代理类编译到应用程序中,然后调用其方法,结果是代理类在 HTTP 上打包 SOAP 请求,并接收 SOAP 编码的回应,然后封送为一个字符串。

  从客户端来看,代码非常简单:

Dim myHelloWorld As New HelloWorld()
Dim sReturn As String = myHelloWorld.SayHelloWorld()

  返回值将是“Hello World”。

  将 SOAP 用作组件开发工具

  创建分布式应用程序时,如果需要高度控制性并要求能够选择系统耦合程度,那么可以使用 Microsoft .NET Remoting。

  Microsoft .NET Remoting 还提供了与公共语言运行时的深入集成,并且为开发人员提供了全面的跨连接类型系统保真性。这包括构造函数、委托、重载方法、通过值和引用传递对象、类的层次结构、接口、方法、属性、字段,以及通过可插入通道、分布式标识、激活、租用生存期和 CallContext(独立于参数的 SOAP 头中的流对象)在连接上的应用程序 (Web Services) 之间进行 Marshal by Value(制作副本)以及 Marshal by Ref(传递 ObjRef)。

  使用 .NET Remoting,开发人员可以从任何进程提供 Remoting 终结点,包括控制台应用、GUI 应用、NT Service 和 IIS。在任何使用有效加载编码(在产品中提供了可插入序列化格式化程序以及 SOAP 和二进制格式化程序)通过可插入通道进行的任何传输过程中都会出现这种情况。SOAP=HTTP+XML,同时完全支持 HTTP 和 SMTP 上的 SOAP 1.1,这十分令人满意。

  我们可以获得 WSDL 支持来说明 Web Service 并保证运行时类型系统的完全保真性。.NET Remoting 提供了 .NET SDK 的 Soapsuds 工具,可以从元数据生成受控类和 COM 对象的服务说明。Soapsuds 工具也使用服务说明并生成元数据和代理。开发人员可以使用密集侦听模型,将自己的操作作为应用程序入站和出站消息流插入。想更为深入的开发人员则可以采用使用套接字的二进制编码 TCP 通道。

  .NET Remoting 使受控组件、本机 COM/COM+ 组件以及接受服务的组件(使用 COM+ 服务的受控组件)远程化。SOAP、二进制以及任何一种可插入通道和格式上都可能出现这些情况。

上一页  1 2 3 4 5  下一页

【责任编辑:  】
【发表评论】【关闭窗口】
■ 相关内容
 因特网COM服务
 微软Visual Studio .NET
 Microsoft .NET Remoting:技术概述
 Microsoft .NET Remoting:技术概述
 首个.NET操作系统病毒自首
 ADO.NET入门
 运用.NET读写Windows注册编辑表
 SOAP+Flash 更友好的Web应用程序
 Visual Studio.net中的XML注释
 用XMLTextReader类加速.NET中XML存取
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!