COM+ Web 服務:通過複選框路由到 XML Web Services (轉)7

來源:互聯網
上載者:User
services|web|xml|複選框 此 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 啟用模型不同。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。