七步通使用WCF Service流程
Service對于編程人來說并不陌生,學(xué)習(xí)了很長時(shí)間的WCF,我們現(xiàn)在就WCF Service一起來和大家分析探討一下。熟悉Web Service開發(fā)的程序員對添加服務(wù)引用應(yīng)該并不陌生。在創(chuàng)建某個服務(wù)的客戶端程序時(shí),并不需要從頭開始編寫客戶端的底層通信和交互代碼,可以通過輸入服務(wù)地址來添加服務(wù)來讓Visual Studio生成客戶端代理,這樣訪問服務(wù)就像訪問本地組件一樣,而不需要去關(guān)心通信的細(xì)節(jié)。
#T#如果創(chuàng)建的客戶端程序項(xiàng)目和服務(wù)程序項(xiàng)目處在同一個解決方案里(很多開發(fā)者在開發(fā)服務(wù)時(shí),也會同步開發(fā)客戶端程序),還可以通過Visual Studio來幫助我們“發(fā)現(xiàn)(Discovery)”服務(wù),并添加服務(wù)引用?,F(xiàn)在開發(fā)WCF Service的程序員也可以得益于這些功能了。如果從WCF Service Library (或者WCF 節(jié)點(diǎn)下的Sequential Workflow Service Library 和 State Machine Workflow) 項(xiàng)目模板創(chuàng)建一個項(xiàng)目,那么這些功能就已經(jīng)具備。
下面我們來看一下如何使用:
1.創(chuàng)建一個客戶端程序,可以是一個Windows Console程序。
2.在同一解決方案里添加一個WCF Service Library。如圖:
3.Build WcfServiceLibrary1。
4.右鍵ConsoleApplication1,在上下文菜單中選擇“添加服務(wù)引用“(Add Service Reference).
5.此時(shí)可以看到一個對話框:
6.如果已經(jīng)知道服務(wù)的地址,可以直接在Address欄輸入地址來添加服務(wù),單擊“Go”??梢哉业竭@個地址對應(yīng)的服務(wù)。
7.如果想添加同一個解決方案里的服務(wù),可以先單擊“發(fā)現(xiàn)”來尋找服務(wù)。找到服務(wù)后,選中需要在客戶端程序生成引用的服務(wù),然后單擊確定,這個時(shí)候WcfSvcHost就會自動啟動來HOST服務(wù)。幾秒以后,可以看到客戶端自動生成了服務(wù)代理代碼:
通過上面的步驟在客戶端完成了添加服務(wù)引用,現(xiàn)在可以訪問服務(wù)了,只需要通過下面兩行代碼就可以調(diào)用服務(wù)端的一個方法:
- ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();
- client.GetData(0);