


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、WCF面向服務(wù)應(yīng)用程序系列之五契約版本管理一版本相容性開發(fā)環(huán)境:VisualStudio2010+NetFramework4.0。服務(wù)契約的變化對(duì)客戶端產(chǎn)生的阻礙如下:服務(wù)契約的變化對(duì)現(xiàn)存客戶端的阻礙在操作簽名上添加新的參數(shù)客戶端町M、能被阻礙新的參數(shù)在服務(wù)中被初始化為缺省值從操作簽名中刪除參數(shù)客戶端町M、能被阻礙客戶端傳遞的余外參數(shù)將被忽略,這些數(shù)據(jù)在服務(wù)端被丟失修改參數(shù)類型如果從客戶端進(jìn)入的類型無(wú)法轉(zhuǎn)換為參數(shù)的數(shù)據(jù)類型,將會(huì)拋出專門修改返回?cái)?shù)值的類型如果從服務(wù)端返回的值無(wú)法轉(zhuǎn)換為在客戶端操作簽名中所期望的數(shù)據(jù)類型,那么將會(huì)拋出添加新的操作客戶端町M、能被阻礙由于客戶端不明白新加入操作的存在
2、,因此其可不能被調(diào)用卜除操作拋出專口客戶端發(fā)送給服務(wù)端的消息會(huì)被認(rèn)為使用了未知的action頭數(shù)據(jù)契約為變化對(duì)客戶端產(chǎn)生的阻礙如下:數(shù)據(jù)契約的變化對(duì)現(xiàn)存客戶端的阻礙添加新的non-required成員客戶端町M、能被阻礙缺少的數(shù)值將會(huì)被初始化為缺省值添加新的required成員關(guān)于缺少的值,將會(huì)拋出專門刪除non-required成員服務(wù)端數(shù)據(jù)丟失無(wú)法將全部數(shù)據(jù)集返回給客戶端口小R匕拋出??趧h除required成員當(dāng)客戶端收到來(lái)自服務(wù)端帶有缺失數(shù)據(jù)的響應(yīng)時(shí),將會(huì)拋出專門修改已存的成員的數(shù)據(jù)類型如果類型兼容,那么可不能產(chǎn)生專門,然而可能會(huì)導(dǎo)致未知的結(jié)果下面通過DEMO來(lái)演示服務(wù)端數(shù)據(jù)契約的變化對(duì)
3、現(xiàn)存客戶端的阻礙:1、新增一個(gè)WCFServiceLibrary程序,修改解決方案名稱為Contractversion,修改項(xiàng)目名稱為ExplicitContract,刪除白動(dòng)添加的文件。2、新建Item.cs類,代碼如下:注意注釋部分。3、創(chuàng)建服務(wù)接口文件IExplicitService.cs,代碼如下:4、創(chuàng)建ExplicitService.cs類文件,代碼如下:publicclassExplicitService:IExplicitServiceprivateItem_item;publicvoidSaveItem(Itemitem)this._item=item;publicItemG
4、etItem()this._item.Message="IExplicitService.GetItem()invoked."returnthis._item;5、修改App.config中的服務(wù)名稱、端點(diǎn)契約、服務(wù)地址,代碼如下:碰代碼<?xmlversion="1.0"encoding="utf-8”?><configuration><system.web><compilationdebug="true"/></system.web><!-Whendepl
5、oyingtheservicelibraryproject,thecontentoftheconfigfilemustbeaddedtothehost'sapp.configfile.System.Configurationdoesnotsupportconfigfilesforlibraries.-><system.serviceModel><services><servicename="ExplicitContract.ExplicitService"><host><baseAddresses>&
6、lt;addbaseAddress="http:/localhost:8732/Design_Time_Addresses/ExplicitContract/ExplicitService/"/></baseAddresses></host><!-ServiceEndpoints-><!-Unlessfullyqualified,addressisrelativetobaseaddresssuppliedabove-><endpointaddress=""binding="wsHttp
7、Binding"contract="ExplicitContract.IExplicitService"><!-Upondeployment,thefollowingidentityelementshouldberemovedorreplacedtoreflecttheidentityunderwhichthedeployedserviceruns.Ifremoved,WCFwillinferanappropriateidentityautomatically.-><identity><dnsvalue="localh
8、ost"/></identity></endpoint><!-MetadataEndpoints-><!-TheMetadataExchangeendpointisusedbytheservicetodescribeitselftoclients.-><!-Thisendpointdoesnotuseasecurebindingandshouldbesecuredorremovedbeforedeployment-><endpointaddress="mex"binding="mex
9、HttpBinding"contract="IMetadataExchange"/></service></services><behaviors><serviceBehaviors><behavior><!-Toavoiddisclosingmetadatainformation,setthevaluebelowtofalseandremovethemetadataendpointabovebeforedeployment-><serviceMetadatahttpGetEnab
10、led="True”/><!-Toreceiveexceptiondetailsinfaultsfordebuggingpurposes,setthevaluebelowtotrue.Settofalsebeforedeploymenttoavoiddisclosingexceptioninformation-><serviceDebugincludeExceptionDetailInFaults="False"/></behavior></serviceBehaviors></behaviors>
11、</system.serviceModel></configuration>6、創(chuàng)建客戶端操縱臺(tái)程序Client,添加ServiceReference修改名稱空間為TestExplicitContract,并添加測(cè)試TestExplicitContract方法,代碼如下:田e代碼7、設(shè)置Client為啟動(dòng)項(xiàng)目,運(yùn)行調(diào)試ExplicitContract程序,然后,將在操縱臺(tái)看到如下輸出:TestExplicitContractBeginInputexittoclosetheclient,otherscontinue.Pleaseinputtheid:88Youhavein
12、putitem.IdContract:88Pleaseinputthename:xinhaijulanYouhaveinputitem.NameContract:xinhaijulanGetfromserveritem.IdContractis:88Getfromserveritem.NameContractis:xinhaijulanapzp.ctMiligifDrjehw,hem.csQICiplint&eFviDE.-rs-CupIhdterwicE-.c?£AppxcnfigPr&graffijcsfiftGetfromr-serveritem?Message
13、ContractisiiExplicitServ-icevGetItemOinvokEoiblic&KlicitSrwic'Mitrac.ClLiEin.lercbsintCmfieur&liorJ3wi»>fttuiEcencita&ddteEE:ed.他*迪心*湖心財(cái)*做*eE曹工十土匚費(fèi)&頭1.二aJ+uxiliinLHn«t«JLddjTIIiIInputexiI'to"closetheclient,otherscontinue1心MLSyithSbe學(xué)禎眥加L.ir-1I-ra-notBAddtWEB】I.&痢修改mem.cs前聆代碼,把注釋去掉,新增屬性:p-aarrrtervnhsijijlBnTOnn/dernorErplitkCoptractnteri,eDate,.E使用”sRequired=frue;重新-生成服務(wù)端ExplicitContract項(xiàng)目,不n'Eipi/TKhEiE五戶卜珂和IqmtmEfdcFm/EwIk成dfact'語(yǔ)nfltoMpccttd.更新客尸端ServiceReference設(shè)置Client為Contract棒序,然后,將看到如下今門:Creat啟動(dòng)項(xiàng)目,運(yùn)行調(diào)試Explicit9、修改Item.cs
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 全國(guó)粵教版信息技術(shù)八年級(jí)下冊(cè)第二單元第十五課《數(shù)碼顯示與無(wú)線通信的實(shí)現(xiàn)》教學(xué)設(shè)計(jì)
- 云南經(jīng)貿(mào)外事職業(yè)學(xué)院《社會(huì)問題與對(duì)策》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧建筑職業(yè)學(xué)院《中學(xué)生物學(xué)課程標(biāo)準(zhǔn)與教材研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶移通學(xué)院《精細(xì)化工綜合實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西體育高等??茖W(xué)校《服裝美學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 南昌交通學(xué)院《電子科學(xué)與技術(shù)專業(yè)創(chuàng)新課程》2023-2024學(xué)年第二學(xué)期期末試卷
- 克拉瑪依職業(yè)技術(shù)學(xué)院《新能源汽車檢測(cè)與維修》2023-2024學(xué)年第二學(xué)期期末試卷
- 濱州學(xué)院《酒店電子商務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶工程職業(yè)技術(shù)學(xué)院《現(xiàn)代傳感器技術(shù)及虛擬儀器》2023-2024學(xué)年第二學(xué)期期末試卷
- 福建農(nóng)業(yè)職業(yè)技術(shù)學(xué)院《會(huì)計(jì)學(xué)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 初中語(yǔ)文九年級(jí)下冊(cè)閱讀理解50篇附答案解析
- 《陶瓷造型工藝》課程標(biāo)準(zhǔn)
- 火電廠各指標(biāo)指標(biāo)解析(最新版)
- 病毒性腦炎患者的護(hù)理查房ppt課件
- TPU材料項(xiàng)目可行性研究報(bào)告寫作參考范文
- 第二編 債權(quán)總論
- 試用期考核合格證明表
- 常見八種疾病
- 膠粘劑基礎(chǔ)知識(shí)及產(chǎn)品詳解(課堂PPT)
- 鐵路總公司近期處理的七起突出質(zhì)量問題的通報(bào)
- 常用洪水預(yù)報(bào)模型介紹
評(píng)論
0/150
提交評(píng)論