新聞中心
WCF開發(fā)框架在開發(fā)人員眼中是一個非常有用的工具。在這里我們將會了解到WCF客戶端編程的一些相關(guān)技巧,希望對大家有所幫助。#t#

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比裕安網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式裕安網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋裕安地區(qū)。費(fèi)用合理售后完善,10余年實體公司更值得信賴。
客戶端編程是很重要的部分,WCF經(jīng)過長時間的發(fā)展,很多用戶都很了解WCF了,這里我發(fā)表一下個人理解,和大家討論討論。為了調(diào)用服務(wù)上的操作,WCF客戶端首先需要把服務(wù)合同導(dǎo)入到客戶端的本地描述中。
這意味著,該服務(wù)需要客戶端暴露一個標(biāo)準(zhǔn)方法以檢索它的元數(shù)據(jù)-這是通過讓服務(wù)暴露一個元數(shù)據(jù)交換(MEX)端點來實現(xiàn)的。只要服務(wù)在宿主上注冊至少一個TCP、HTTP或IPC基地址,那么,這個基于WCF的服務(wù)就能夠自動地暴露一個MEX端點。
如果使用WCF客戶端編程,那么調(diào)用操作的普通方法是使用一個代理。這個代理是一個CLR類,它暴露單個描述服務(wù)合同的CLR接口。注意,如果該服務(wù)支持若干合同,那么WCF客戶端需要對于每一種合同類型都創(chuàng)建一個相應(yīng)代理。
代理負(fù)責(zé)提供與服務(wù)的合同相同的操作,而且還提供其它方法來管理代理的生命周期和到服務(wù)的連接。該代理完整地封裝該服務(wù)的每一個方面:服務(wù)的位置,服務(wù)的實現(xiàn)技術(shù)及其運(yùn)行時刻平臺和通訊傳輸。
你可以使用Visual Studio 2005來導(dǎo)入服務(wù)元數(shù)據(jù)并且生成一個代理。如果服務(wù)是自宿主的,那么首先要啟動該服務(wù),然后從WCF客戶端編程的上下文菜單中選擇"Add Service Reference…"。如果服務(wù)宿主在IIS或WAS上,那么就不需要預(yù)啟動該服務(wù)了。
有趣的是,如果服務(wù)是自宿主在與客戶端工程同一個方案中的另一個工程中,那么你可以在Visual Studio 2005中啟動宿主并且仍然添加參考,因為不同于大多數(shù)工程設(shè)置,這個選項是無法禁止的。這會導(dǎo)致調(diào)出"Add Service Reference"對話框,你需要在其中提供服務(wù)的基地址(或一個基地址和一個MEX URI)以及包含代理的命名空間。
Visual Studio 2005使用SvcUtil.exe命令行工具,并且你可以自己使用WCF客戶端編程。主要理由是,你可以使用SvcUtil開關(guān)所提供的眾多的選項。為了直接使用 SvcUtil,你可以提供給它MEX地址并且,作為選擇,還可以提供一個代理文件名。默認(rèn)的代理文件名是實現(xiàn)該服務(wù)的服務(wù)端類的名字。例如,當(dāng)把服務(wù)MyService宿主在IIS中時,簡單地運(yùn)行下列命令行:
vcUtil http://localhost/MyService/MyService.svc /out:Proxy.cs
文章標(biāo)題:WCF客戶端編程經(jīng)驗分享
路徑分享:http://m.fisionsoft.com.cn/article/cdsgdih.html


咨詢
建站咨詢
