COM+ Web 服务:通过复选框路由到 XML Web Services (转)2

services|web|xml|复选框

表 1:WKO 模型支持的方案

WKO 客户端 WKO 服务器
VB 6.0 或非托管 C++ VB 6.0 或非托管 C++
VB 6.0 或非托管 C++ VB .NET 或 C#
VB 6.0 或非托管 C++ SOAP V1.1(在 WSDL 中描述)
VB 6.0 或非托管 C++ Microsoft SOAP(ATL Server,SOAP TK)
C# 或 VB .NET SOAP V1.1(在 WSDL 中描述)
C# 或 VB .NET VB 6.0 或非托管 C++
C# 或 VB .NET VB .NET 或 C#
C# 或 VB .NET Microsoft SOAP(ATL Server,SOAP TK)
Microsoft SOAP Toolkit V2.0 VB 6.0 或非托管 C++
Microsoft SOAP Toolkit V2.0 C# 或 VB .NET
SOAP v1.1 VB 6.0 或非托管 C++
SOAP v1.1 C# 或 VB .NET

表 2:CAO 模型支持的方案

CAO 客户端 CAO 服务器
C# 或 VB .NET(早期绑定) VB 6.0 或非托管 C++
VB 6.0 或非托管 C++ VB 6.0 或非托管 C++
VB 6.0 或非托管 C++ C# 或 VB .NET
C# 或 VB .NET C# 或 VB .NET

这种新的 COM+ Web 服务适用于以下用户:

当前安装有 Microsoft Visual Basic 6.0 或者非托管 Microsoft Visual C++ COM+ 应用程序(需要通过防火墙才能进行某些激活操作)的 COM+ 用户。(使用 SOAP 并不排斥通过 DCOM 访问服务器上的相同组件,客户端计算机可以选择协议。)对于这些客户来说,如果要使用 SOAP 而不是 DCOM,则使用客户端代理导出和 CAO 模型都不需要更改客户端和服务器应用程序。只需要在服务器应用程序上启用 SOAP,将其作为客户端代理导出,然后将代理安装在要用作 SOAP 客户端的 Windows XP 计算机上。
完全迁移到 Windows XP 和 Windows .NET Server 上的托管代码的公司。COM+ Web 服务有助于在连接的两端设置远程端点。
需要在上述两种方案中组合和匹配各种服务的开发人员,以及编写托管服务器组件、或带有非托管服务器组件的托管客户端应用程序的开发人员。在第二种情况中,开发人员可以利用 COM+ Web 服务,在用托管代码替换之前充分利用早期的非托管组件。
简单的已知对象 (WKO) 示例
除了对 Linux 和 ApacheIn 提供 SOAP 支持外,将 COM+ Web 服务应用于其他 Microsoft 产品(例如 ATL Server Web 服务)也非常简单。只需使用 Microsoft Visual Studio .NET 在服务器上生成、编译和部署默认的 ATL Web 服务即可。对它进行访问的客户端代码如下(请用驻留 ATL Server 应用程序的 Web 服务器名称替换 MyServer,用您的 ATL Server DLL 的名称替换 JALTServer):

mon="soap:wsdl=http://MyServer/JALTServer/JALTServer.dll?
   Handler=GenJALTServerWSDL"
set c = GetObject(mon)
WScript.Echo c.HelloWorld("COM+ Web 服务")

上述示例简单说明了 Microsoft Windows XP 和 Microsoft Windows .NET 服务器所包含的一个新的 SOAP 名字对象。

数据发布
如果您只想提供数据而不是使用数据,那么只需选择一个复选框,然后输入 IIS 虚拟根名称的值。要创建完整的 COM+ Web 服务,请执行以下步骤:

使用 Visual Basic 6.0 创建简单的 Microsoft ActiveX DLL,并输入以下代码:

Function Add(ByVal Value1 As Double, ByVal Value2 As Double) As Double
Add = Value1 + Value2
End Function

在 Visual Basic 项目属性页上的 General选项卡中,设置 Unattended Execution 和 Retained in Memory,并在 Component 选项卡中选择 Remote Server Files。使用 Visual Basic 开发环境生成此 DLL。

在创建 Visual Basic 应用程序之后,需要将其注册为 COM+ 应用程序。启动组件服务管理工具,在 Windows XP 上创建 COM+ 应用程序。(在此示例中,应用程序被命名为 VB6Soap。)将所创建的 DLL 作为组件导入,然后浏览到 COM+ 应用程序属性页的 Activation 选项卡,选择 Uses SOAP,输入一个 SOAP Vroot(例如,VB6Soap),然后单击 OK(如图 1 所示)。

图 1:VB6Soap COM+ 应用程序属性页

时间: 2024-10-31 01:24:17

COM+ Web 服务:通过复选框路由到 XML Web Services (转)2的相关文章

COM+ Web 服务:通过复选框路由到 XML Web Services(1) (微软中国)

services|web|xml|复选框|微软 COM+ Web 服务:通过复选框路由到 XML Web Services John Noss 和 Jonathan HawkinsMicrosoft Corporation 2001年11月 摘要:COM+ Web 服务新增了某些功能,可与 Microsoft .NET Remoting 集成,并通过 SOAP for COM+ 组件实现 XML Web Services 发布的复选框激活.本文通过几个示例介绍基本的互操作性.配置以及托管和非托管

COM+ Web 服务:通过复选框路由到 XML Web Services (转)

services|web|xml|复选框 COM+ Web 服务:通过复选框路由到 XML Web Services John Noss 和 Jonathan HawkinsMicrosoft Corporation 2001年11月 摘要:COM+ Web 服务新增了某些功能,可与 Microsoft .NET Remoting 集成,并通过 SOAP for COM+ 组件实现 XML Web Services 发布的复选框激活.本文通过几个示例介绍基本的互操作性.配置以及托管和非托管 CO

COM+ Web 服务:通过复选框路由到 XML Web Services(3) (微软中国)

services|web|xml|复选框|微软 SOAP 与 DCOM 的局限性和区别 .NET Remoting 的目的之一是提供丰富的分布式环境,使开发人员能够在此环境中对序列化协议(格式化程序)和网络协议(频道)进行组合与匹配..NET 框架 1.0 版本中的 COM+ Web 服务仅支持一种格式化程序 (SOAP) 和一种频道 (HTTP).这并不是说其他频道和格式化程序不能使用 ServicedComponents 或 COM+,而是说没有自动配置为这些备用频道和格式化程序提供客户端和

COM+ Web 服务:通过复选框路由到 XML Web Services (转)10

services|web|xml|复选框 另一个可以自定义的区域包括客户端激活对象的生存期管理,如下例所示: <?xml version="1.0" encoding="utf-8"?><configuration> <system.runtime.remoting>  <application>   <service>    <wellknown mode="SingleCall"

COM+ Web 服务:通过复选框路由到 XML Web Services (转)5

services|web|xml|复选框 在图 3 所示的 COM+ 应用程序导出向导中,输入代理 .msi 文件的位置和名称. 在图 3 所示的 COM+ 应用程序导出向导中,输入代理 .msi 文件的位置和名称. 图 3:COM+ 应用程序导出向导 将代理 .msi 文件安装在单独的客户端计算机上,作为预先生成的 COM+ 应用程序. 安装时将对代理进行适当的配置,以便通过 SOAP 访问正确的服务器和虚拟根.对于客户端激活,可以不使用 WSDL 名字对象,而使用常规非托管的 COM+ 激活

COM+ Web 服务:通过复选框路由到 XML Web Services (转)9

services|web|xml|复选框 编译并运行此 Visual Basic .NET 应用程序,将产生与前面两个 VBScript CAO 示例相同的输出内容. 因为服务器应用程序将组件发布为 CAO 和 WKO 两种形式,所以由远程客户端选择激活方法.虽然可能只对学术研究有意义,但是单一客户端计算机确实可以使用同一组件的两种远程激活方法,访问远程服务器上同一个 SOAP 发布的虚拟根. SOAP 与 DCOM 的局限性和区别.NET Remoting 的目的之一是提供丰富的分布式环境,使

COM+ Web 服务:通过复选框路由到 XML Web Services (转)8

services|web|xml|复选框 即使在通过 SOAP 调用时,CAO 激活也会保留状态,并且允许通过 SOAP 来回传递对象引用.名称和值都保留在服务器上的类实例中,并且引用可以正确工作.这两种脚本都调用相同的编译 C# 组件,只是 .NET Remoting 激活模型不同. 除了使用 CreateObject 调用 CAO 激活外,还可以使用带有 COM+ 的名字对象,它可以提供 CAO 激活来替代 WKO(类型名称和程序集名字对象).以下脚本: '直接创建两个对象set c1=Ge

COM+ Web 服务:通过复选框路由到 XML Web Services (转)4

services|web|xml|复选框 为简单起见,上述示例全部使用 VBScript 来访问 Web 服务.其实也可以通过 SOAP WSDL 名字对象使用 Visual C+.Visual Basic 6.0.Visual Basic .NET 或 C# 进行编写.例如,Visual Basic .NET 也可以使用编译的托管代码访问同一对象,如下例所示: Imports SystemImports System.Runtime.InteropServicesModule WKOClien

COM+ Web 服务:通过复选框路由到 XML Web Services(2) (微软中国)

services|web|xml|复选框|微软 事务性组件示例简单的计算器远算不上工作量繁重的业务应用程序,因此我们现在考虑带有对象池的适于 COM+ 事务性组件的应用程序.最容易管理和配置的组件是由 ServicedComponent 导出的托管代码组件,如以下 C# 示例所示: using System;using System.Reflection;using System.Runtime.InteropServices;using System.EnterpriseServices;us