天天看點

WCF 入門教程一(動手建立第一個WCF程式并部署)

wcf的相關概念資訊就不在此贅述了,網上一搜一大把。

現在讓我們動手搭建我們的第一個wcf程式吧,具體流程如下:

1. 建立立空白解決方案,并在解決方案中建立項目,項目類型為:wcf服務應用程式。

WCF 入門教程一(動手建立第一個WCF程式并部署)

2、建立完成後如下圖所示:

WCF 入門教程一(動手建立第一個WCF程式并部署)

3、删除系統生成的兩個檔案iservice1.cs與service1.svc(或者自己重命名,在系統生成的基礎檔案中進行編碼,此處感覺重命名麻煩,于是選擇删除--建立)

4、添加自定義的wcf【服務檔案】test.svc

WCF 入門教程一(動手建立第一個WCF程式并部署)

5、此時vs2010會自動生成wcf接口檔案itest.cs

WCF 入門教程一(動手建立第一個WCF程式并部署)

6、我們在itest中定義wcf方法transfertest,在test.svc.cs對該接口的方法進行實作,代碼如下:

可以看到,在wcf中的接口與普通接口的差別隻在于兩個上下文,其他的和我們正常學習的接口一樣。定義這個上下文要添加system.servicemodel的引用。[servicecontract],來說明接口是一個wcf的接口,如果不加的話,将不能被外部調用。[operationcontract],來說明該方法是一個wcf接口的方法,不加的話同上。

 7、此時我們的第一個wcf服務程式就建立好了,将test.svc“設為起始頁”,然後f5運作一下試試,如下圖所示,vs2010自動調用了wcf的用戶端測試工具以便我們測試程式:

WCF 入門教程一(動手建立第一個WCF程式并部署)

8、我們輕按兩下上圖中的 transfertest() 方法,出現如下圖:

WCF 入門教程一(動手建立第一個WCF程式并部署)

在請求視窗中的值中輸入參數“99”,然後點選“調用”,在響應視窗中會出現傳回值“"第99次wcf調用成功!",說明測試成功,點選下面的xml也可以看到xml的資料傳輸。

9、我們設計測試的場景是在生産中經常應用的場景,把wcf程式寄宿在iis之上。假設場景如下:【a伺服器】和【b伺服器】。我們把我們剛剛建立的wcf程式“部署”在【b伺服器】上,我們的目标是在【a伺服器】的應用程式來通路【b伺服器】的wcf程式,實作伺服器端的應用程式通訊。

首先我們将wcf應用程式釋出一下,然後部署在b伺服器的iis之上

部署步驟如下:http://blog.csdn.net/jiankunking/article/details/44118911

10、在用戶端【a伺服器】]建立服務的引用

我們這裡以winform應用程式為例,建立地實體位址為【b伺服器】的ip,

建立解決方案,并且建立winform應用程式的項目。命名為:wcfclient,如下圖所示:

WCF 入門教程一(動手建立第一個WCF程式并部署)

添加在之前部署的服務的引用。如下圖所示:

WCF 入門教程一(動手建立第一個WCF程式并部署)

點選“前往”-->“确定”按鈕,效果如下:

WCF 入門教程一(動手建立第一個WCF程式并部署)

此時我們完成了對服務的引用。我們再次檢視解決方案,裡面多了service references的檔案夾,通過資料總管打開後裡面多了些檔案,這些檔案用于用戶端向服務端的調用。

11、調用wcf服務端的方法

将wcfclient項目設為:啟動項目

WCF 入門教程一(動手建立第一個WCF程式并部署)

在form窗體上,添加一個button,并添加button1_click事件,在button1_click具體的調用方法如下:

f5,點選按鈕,效果如下:

WCF 入門教程一(動手建立第一個WCF程式并部署)

小注代碼中也可以 

以友善後面變量的聲明

通過以上的例子,我們完成了由a伺服器的應用向b伺服器中wcf提供的方法的調用。

12、代碼下載下傳:

http://download.csdn.net/detail/xunzaosiyecao/8481267