使用 Soapsuds.exe 搭配遠端處理
本主題專門說明一項為了在現有應用程式中提供回溯相容性而保留的舊有技術,不建議用於新的開發工作。分散式應用程式應使用 Windows Communication Foundation (WCF) 進行開發。
您可以使用 Soapsuds.exe 來產生包含必要中繼資料 (以呼叫遠端物件) 的組件或原始程式碼。
注意: |
---|
Soapsuds.exe 只能與使用 HttpChannel 的遠端物件搭配運作。 |
若要產生組件,請輸入如下所示的命令:
soapsuds.exe -url:http://SomeServer/MyObject.rem?wsdl -oa:MyProxy.dll
其中遠端物件係裝載在稱為 SomeServer 的電腦上,而該物件的 URL 為 MyObject.rem。請注意加入到 URL 結尾的 ?wsdl。這是 Soapsuds.exe 成功運作的要項。您可以接著加入產生的 MyProxy.dll 並讓您的用戶端應用程式參考它。
若要產生原始程式碼,請輸入如下所示的命令:
soapsuds.exe -url:http://SomeServer/MyObject.rem?wsdl -gc
其中遠端物件係裝載在稱為 SomeServer 的電腦上,而該物件的 URL 為 MyObject.rem。請注意加入到 URL 結尾的 ?wsdl。這是 Soapsuds.exe 成功運作的要項。您可以接著加入產生的 Server.cs,並將其加入用戶端應用程式專案中。這麼做的額外好處是,您不用透過用戶端應用程式另外傳送一個 Proxy 組件。
不管輸出的型別為何 (組件或原始程式碼),Soapsuds.exe 預設都會產生所謂的「包裝的 Proxy」。包裝的 Proxy 是衍生自 RemotingClientProxy 的類別。遠端物件的 URL 會以硬式編碼方式加入此衍生的類別中。此外,您可以在命令列上指定 -nowp
來產生非包裝的 Proxy。為非包裝的 Proxy 所產生的類別是空的類別。您可以藉由產生遠端物件的原始程式碼兩次來看出包裝的與非包裝的 Proxy 之間的差別 (一次使用 -nowp
而另一次不使用 (在您重複執行 Soapsuds.exe 時,記得重新命名產生的 .cs 檔,否則此檔案會被覆寫過去)。由於遠端物件的 URL 不應該以硬式編碼方式處理,因此您必須產生非包裝的 Proxy。
如需 soapsuds.exe 命令列選項的詳細資訊,請參閱:Soapsuds Tool (Soapsuds.exe)。