繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> COM+ Web 服务:通过复选框路由到 XML Web Services (转)7

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

2007-08-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:此 C# 程序有两个类:Child 和 Parent。如果运行以下 VBScript 示例,WKO 与 CAO 模型的区别会更加明显: set c1 = GetObject ("soap:wsdl=http://jnoss4/refpass/RefPass.Child.soap?wsdl") set c2 = GetObject...

此 C# 程序有两个类:Child 和 Parent。如果运行以下 VBScript 示例,WKO 与 CAO 模型的区别会更加明显:

set c1 = GetObject

("soap:wsdl=http://jnoss4/refpass/RefPass.Child.soap?wsdl")

set c2 = GetObject

("soap:wsdl=http://jnoss4/refpass/RefPass.Child.soap?wsdl")

c1.SetName("C1")

WScript.Echo c1.CountUp()

WScript.Echo c1.CountUp()

WScript.Echo c1.CountUp()

WScript.Echo c1.CountUp()

WScript.Echo c1.CountUp()

C2.SetName("C2")

WScript.Echo c2.CountUp()

WScript.Echo c2.CountUp()

WScript.Echo c2.CountUp()

WScript.Echo c2.CountUp()

WScript.Echo c2.CountUp()

运行时将显示以下输出内容:

C:\moniker>refpasswko

Microsoft (R) Windows Script Host Version 5.6

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

none 1

none 1

none 1

none 1

none 1

none 1

none 1

none 1

none 1

none 1

名称和值说明了单一调用已知对象的无状态性质,因为组件是使用不同的方法调用创建的,所以方法调用之间不保留名称或值。

如果导出客户端代理,然后导入到另一台客户端计算机上,并且运行了下面的 VBScript,则 SOAP 激活将是 CAO 而不是 WKO:

'直接创建两个对象

set c1=CreateObject("RefPass.Child")

set c2=CreateObject("RefPass.Child")

'设置第一个对象的名称,并调用数次

'以递增对象内部计数器

c1.SetName("C1")

WScript.Echo c1.CountUp()

WScript.Echo c1.CountUp()

WScript.Echo c1.Countup()

WScript.Echo c1.CountUp()

WScript.Echo c1.Countup()

'设置第一个对象的名称,并调用数次

'以递增对象内部计数器

c2.SetName("C2")

WScript.Echo c2.CountUp()

WScript.Echo c2.CountUp()

WScript.Echo c2.Countup()

WScript.Echo c2.CountUp()

WScript.Echo c2.Countup()

'创建父对象

set p=CreateObject("RefPass.Parent")

'将子对象传递到父对象,并从父对象调用子对象

WScript.Echo p.SetRef(c1)

WScript.Echo p.CountUp(c2)

WScript.Echo p.CountUp(c2)

WScript.Echo p.CountUp(c2)

WScript.Echo p.CountUp(c2)

'现在调用存储在父对象内部的子对象

dim c9

WScript.Echo p.CountUp(c9)

'从父对象获取该对象并直接调用

Set c3 = p.GetRef()

WScript.Echo c3.CountUp()

从命令行运行时,将显示以下输出内容:

C:\moniker>refpasscl

Microsoft (R) Windows Script Host Version 5.6

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

C1 1

C1 2

C1 3

C1 4

C1 5

C2 1

C2 2

C2 3

C2 4

C2 5

C1 5

C2 6

C2 7

C2 8

C2 9

C1 6

C1 7

即使在通过 SOAP 调用时,CAO 激活也会保留状态,并且允许通过 SOAP 来回传递对象引用。名称和值都保留在服务器上的类实例中,并且引用可以正确工作。这两种脚本都调用相同的编译 C# 组件,只是 .NET Remoting 激活模型不同。

责任编辑:admin
相关文章