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