最近才真正接觸WCF,實在慚愧,在網上和園子里找很多例子,但發現並沒有VS2010創建最新的WCF項目示例,也是最簡單的一種方式。做個記錄,與新手共享。(本機VS2010為中文版)步驟:
1. 新建項目-WCF-WCF服務應用程序,會有自帶服務示例IService1.cs 和Service1.svc。目錄結構如下:
然后選擇該項目右健,點擊生成(切記:項目一定要生成)。然后發布服務,將服務部署在IIS上(該示例以IIS作為宿主),方法和部署正常的網站程序完全一樣。然后即可瀏覽該服務,要記住服務地址,下面會用到,例我的部署地址為:http://localhost/wmlwcf/service1.svc。
但應該注意:IIS中選擇添加應用程序,不要選擇虛擬目錄。效果:
看到如上的頁面,說明服務已部署成功。
2. 創建客戶端程序:新建項目-Windows-Windows窗體應用程序, 選中項目下“引用”點擊鼠標右鍵,選擇“添加服務引用”,彈出“添加服務引用”對話框,地址欄輸入剛發布服務地址,我部署地址為:http://localhost/wmlwcf/service1.svc
但應該注意:IIS中選擇添加應用程序,不要選擇虛擬目錄。
會自動找到該解決方案下所有的服務,此時找到剛剛建立的Service1.svc服務。選中服務后,點擊確定。
項目中即生成如下服務ServiceRefrence1:
4. 在Windows窗體應用程序下,打開Form1窗體,添加一個按鈕,在按鈕事件里添加如下代碼:
ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();
string str = client.GetData(100); //100:客戶端傳給服務端的值,str:服務端傳給客戶端的值
MessageBox.Show(str);
5. 將Windows窗體應用程序作為解決方案的啟動項目,然后F5運行,即可。
至此OK,一個WCF示例完成。WCF服務即發布和運行,且可被客戶端進行調用。