參考網址: https://www.cnblogs.com/pangguoming/p/7495090.html
上一次提到,我們的WCF程式宿主是釋出到IIS上面的。雖然這樣做未嘗不可,不過不便于我們進行“開始”或“停止”WCF服務的操作。是以再次嘗試了編寫以窗體應用程式作為WCF服務宿主的方式,并取得了成功。而下文則記錄整個程式的建立過程。
一、建立WCF服務
首先建立一個WCF服務項目,項目名稱為WCFService,解決方案為WCFDemo。
建立的WCF服務項目已經包含了一個GetData()函數,我們這個例子中直接使用這個函數。
二、建立WCF宿主
同樣地,我們為這個解決方案增加一個WCF服務宿主項目。項目名稱為WCFServerHost,程式類型為Windows窗體應用程式。
在程式的視窗上放置一個按鈕,并将按鈕的标題改為“開啟服務”,修改後的視窗如下: 然後為程式添加System.ServiceModel和WcfService兩個引用 最後,輕按兩下程式按鈕添加如下代碼: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
然後,在關閉視窗事件中添加如下代碼:
|
好了,現在運作應用程式,開啟服務後,在IE浏覽器中輸入http://localhost:8002/Service1,檢查是否正常顯示中繼資料。
三、編寫用戶端程式
在解決方案中再添加一個新的Windows窗體應用程式,程式名稱為WCFClient。
然後,在關閉視窗事件中添加如下代碼:在程式項目上按右鍵,選擇“添加服務引用……”。在添加服務引用對話框的位址欄位中,輸入:http://localhost:8002/Service1,發現服務後,将服務命名空間改為ServiceReferenceDemo,然後點選“确定”按鈕。
添加完服務後,我們在程式視窗上放置一個按鈕,并将按鈕标題命名為“執行”。輕按兩下“執行”按鈕,并編寫如下代碼:
|
四、測試執行
首先確定Host程式已經運作、然後執行用戶端程式,并點選“執行”按鈕,檢查是否有一個正确的傳回值。