2012-05-13 39 views
0

我不知道wcf,但很快我必須學習它。所以我通過一些在線教程&小樣本代碼。所以一些問題已經進入我的腦海,如關於wcf屬性和客戶端/服務器通信

1)爲什麼服務必須有一個接口?

2)爲什麼服務接口需要用像服務契約這樣的屬性來裝飾? 3)爲什麼所有的接口方法簽名都必須用操作契約進行修飾。

4)服務合同&運營合同的含義是什麼。這些屬性實際上做了什麼。

5)什麼是數據契約?當一種方法應該用像數據契約這樣的屬性來裝飾時。

6)我熟悉web服務。我看到Web服務與任何端口都沒有關係,但wcf總是與端口相關....爲什麼?

7)當我在控制檯應用程序中託管一個小型hello world wcf服務應用程序並在遠程計算機上啓動時,我的客戶端無法連接它。原因可能就像港口沒有被轉發。有時候我們可以託管wcf,但是我們不能進入路由器,所以在這種情況下我們不能轉發端口。只要告訴我在這種情況下客戶端如何連接到服務器? 8)我們可以創建端口並在我們在任何遠程機器上託管wcf時以編程方式轉發它。

如果可能請在這裏詳細討論我的觀點。謝謝

回答

0

WCF是一種在客戶端和服務器之間傳輸數據的技術。

你分1〜5,都是想告訴WCF什麼是要轉移,使WCF能夠連載一側的信息,並deserialise它,另一方面,

對於您的觀點6:WCF蓋幾種技術,包括Web服務。默認的WCF配置與基本Web服務相同。 Web服務默認使用端口80。

對於您的第7點,要麼是沒有暫停控制檯應用程序,所以它在您嘗試連接時未運行。或者您正在使用的端口被防火牆阻止。

在第8點上,WCF 4支持路由。

+0

我在這裏問了很多東西,並且巧妙地避免給出詳細答案。 u事件沒有說服務合同,運營合同和數據合同是什麼。如果你能詳細討論所有問題,那將是非常好的。 – Thomas