2011-11-26 45 views
2

我希望在c#中使用代理對象。我可能會通過Windows Communication Foundation實現聯網。到目前爲止,我只是做了一個非常基本的WCF服務,它在同一臺計算機上的不同進程上工作。我希望客戶端類能夠在同一進程中使用真實對象,並使用代理對象通過互聯網訪問真實對象。現在我可以手動爲所有方法創建一個接口,我想通過互聯網使用接口,手動創建一個代理類來調用每個方法的服務,並在服務主機和服務客戶​​端上手動創建每個服務。在C#中創建代理對象#

但是,我可以通過什麼方式獲得WCF或任何軟件來自動創建接口和代理類?

回答

5

這聽起來像你想要使用的是svcutil.exe,它旨在讀取服務的元數據並創建C#類。

文檔是在這裏:http://msdn.microsoft.com/en-us/library/aa347733.aspx

更具體位置:http://msdn.microsoft.com/en-us/library/aa751905.aspx

有廣闊(很寬!)的選擇範圍控制所生成的代理類。在最簡單的

SvcUtil工具http://service/metadataEndpoint

將讀取的元數據,並一次性創建C#類。

或者,如果您使用的是Visual Studio 2005或更高版本,請右鍵單擊項目,選擇「添加服務引用...」並按照對話框生成客戶端代理。這使您可以輕鬆地自定義代理類。

請注意,您需要發佈某種類型的元數據才能使用。有關啓用此功能的詳細信息,請參閱此處:http://msdn.microsoft.com/en-us/library/ms734765.aspx

+0

據我所知,這些方法只生成服務的客戶端,而不是服務本身。我想知道是否可以自動生成服務,方式是Visual Studio自動生成一個類的接口,通過重新分解。 –

+0

它將如何生成服務?它如何知道你想要揭示什麼類的方法? –

+0

以與Visual Studio自動生成類的接口相同的方式。它只是提供一個方法和屬性的列表,並要求你勾選你想要的,或者有一個選項來使用所有的。 –