WCF服務(wù)引用具體操作步驟圖解
WCF開發(fā)工具的出現(xiàn),為開發(fā)人員帶來了非常大的好處,尤其是在通信方面,極大的解決了一些比較難的問題。那么今天我們將要為大家介紹的是有關(guān)WCF服務(wù)引用的一些操作技巧,讓大家對此有一個初步的了解。#t#
熟悉Web Service開發(fā)的程序員對添加服務(wù)引用應(yīng)該并不陌生。在創(chuàng)建某個服務(wù)的客戶端程序時,并不需要從頭開始編寫客戶端的底層通信和交互代碼,可以通過輸入服務(wù)地址來添加服務(wù)來讓Visual Studio生成客戶端代理,這樣訪問服務(wù)就像訪問本地組件一樣,而不需要去關(guān)心通信的細節(jié)。如果創(chuàng)建的客戶端程序項目和服務(wù)程序項目處在同一個解決方案里(很多開發(fā)者在開發(fā)服務(wù)時,也會同步開發(fā)客戶端程序),還可以通過Visual Studio來幫助我們“發(fā)現(xiàn)(Discovery)”服務(wù),并添加WCF服務(wù)引用。
現(xiàn)在開發(fā)WCF Service的程序員也可以得益于這些功能了。如果從WCF Service Library (或者WCF 節(jié)點下的Sequential Workflow Service Library 和 State Machine Workflow) 項目模板創(chuàng)建一個項目,那么這些功能就已經(jīng)具備。下面我們來看一下如何使用:
1.創(chuàng)建一個客戶端程序,可以是一個Windows Console程序。
2. 在同一解決方案里添加一個WCF Service Library。如圖:
3.Build WcfServiceLibrary1。
4.右鍵ConsoleApplication1,在上下文菜單中選擇“添加服務(wù)引用“(Add Service Reference).
5.此時可以看到一個對話框:
6.如果已經(jīng)知道服務(wù)的地址,可以直接在Address欄輸入地址來添加服務(wù),單擊“Go”。可以找到這個地址對應(yīng)的服務(wù)。
7.如果想添加同一個解決方案里的服務(wù),可以先單擊“發(fā)現(xiàn)”來尋找服務(wù)。找到服務(wù)后,選中需要在客戶端程序生成引用的服務(wù),然后單擊確定,這個時候WcfSvcHost就會自動啟動來HOST服務(wù)。幾秒以后,可以看到客戶端自動生成了服務(wù)代理代碼:
通過上面的步驟在客戶端完成了添加WCF服務(wù)引用,現(xiàn)在可以訪問服務(wù)了,只需要通過下面兩行代碼就可以調(diào)用服務(wù)端的一個方法:
- ServiceReference1.Service1Client client = new
ServiceReference1.Service1Client();- client.GetData(0);
使用技巧及注意點:
1.vs2008的WCF節(jié)點下有四個項目模板,但是Syndication Service Library項目并不具備這個功能,這是因為這個服務(wù)并沒有提供Metadata。
2.在“發(fā)現(xiàn)”服務(wù)前,必須先Build服務(wù)端項目(也就是上文第3步必不可少)以保證添加的WCF服務(wù)引用是最新的。在將來版本的Visual Studio 中我們會做進一步的簡化。