付費(fèi)下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 ,設(shè)置RemotingFormat = 再序列化,通過WebService 傳輸,客戶端接收,再反序列化,確實(shí)效果大大的優(yōu)于直接傳送DataSet,不僅網(wǎng)絡(luò)傳輸中如此,即下面分別WebService 里面的方法和客戶端反序列化取 DataSet 的方法1. 服務(wù)器上面取數(shù)據(jù),填充數(shù)據(jù)集,轉(zhuǎn)換為二進(jìn)制格式/Methodforusersdataquerywith/param/publicbyteBinaryUserSelect(refstringmandStringBuilder.Append(SELECT*FROMt_Users;); DataSet dsResult = new DataSe
2、t();上面都是取數(shù)據(jù)的,無需關(guān)心.二進(jìn)制壓縮數(shù)據(jù)集是下面一小段 MemoryStream ms = new MemoryStream(); IFormatter bf = new BinaryFormatter(); bf.Serialize(ms, dsResult);catch (Exception err=return2. 通過WebService把byte格式的數(shù)據(jù)發(fā)送到客戶端,這里就是WebService自己的事情了3.客戶端接收到 byte格式的數(shù)據(jù),對其進(jìn)行反序列化,得到數(shù)據(jù)集,進(jìn)行客戶端操作/GetuserdatawithBinary/publicDataSetstringe
3、rr=bytebUserData=svc.ByteArrayUserSelect(/publicDataSetstringerr=bytebUserData=svc.ByteArrayUserSelect(referr); if (err != )err = ;returnMemoryStreamms=newMemoryStream(bUserData); IFormatter bf = new BinaryFormatter();object obj = bf.Deserialize(ms); return同樣一臺機(jī)器,手工生成 12000 條數(shù)據(jù),在本地使用 WebService 分、傳輸
4、并在客戶端顯示數(shù)據(jù)集和 byte格式的數(shù)據(jù) 傳輸?shù)牟顒e尚且如此,通過網(wǎng)絡(luò)傳輸?shù)臅r間優(yōu)化自然會更明顯.net1.1 下面微軟提供DataSetSurrogate 開發(fā)地/default.aspx?scid=kb;en-us;829740 DataSetSurrogate 在.net址 web service 端(文件形式)publicvoidSurrogateReadTable(string/DataSet通過SurrogateClassBinaryDataSetmandType.Text,select * from /實(shí)例DataSetSurrogate,傳取出的 DATASET 到構(gòu)造函sd
5、s=new/實(shí)例化二進(jìn)制StreamWriter swDat;/寫到本地一個文件bf.Serialize(swDat.BaseStream, sds);/這里可以知道序列/寫到本地一個文件bf.Serialize(swDat.BaseStream, sds);/這里可以知道序列化后的文件的privatevoidder,System.EventArgs/反序列化BinaryStream能通過SurrogateClass/從WEBSERVICEStreamReader swDat;object o=bf.Deserialize(swDat.BaseStream);DataSetsds = (Dat
6、aSetSurrogate) o; webservice端(Byte方式public byte SurrogateRead1()DataSet ds; sds=newDataSetSurrogate(ds); MemoryStream s= new MemoryStream(); BinaryFormatterbf=newBinaryFormatter();bytee=returnprivatevoidder,System.EventArgs/*bytee=returnprivatevoidder,System.EventArgs/*反序列化BinaryStream能通過SurrogateCl
7、ass/從WEBSERVICEbyte vBinaryFormatterbf=newBinaryFormatter(); object o=bf.Deserialize(br);sds = (DataSetSurrogate) o; 我個人覺得用 byte方式會安全些,畢竟不用在客戶端產(chǎn)生文件,不用擔(dān)心數(shù)據(jù)的安2.0 中對數(shù)據(jù)集序列化和反序列化的方法進(jìn)行了一下簡單的封裝,使其可以得到重用的效果.見下面的類通過方法可以轉(zhuǎn)換數(shù)據(jù)集為二進(jìn)制,在服務(wù)器端使用,轉(zhuǎn)換數(shù)據(jù)集格式。發(fā)送,客戶端接收,得到二制格式數(shù)據(jù),使用 方法,反序列化,得到數(shù)據(jù)集,進(jìn)行客戶端操作。通過這些簡單的操作(序列化和反化,將數(shù)據(jù)壓
8、縮),可以使數(shù)據(jù)集等體積龐大的對象傳遞中的時間大大減少,并且可以減少網(wǎng)絡(luò)中斷等問題對程序的影usingusing34567893456789usingusingusingnamespacepublicclassprivateDataFormatter()/SerializetheDataofdataSettobinary/param/ bytebinaryDataResult=MemoryStream memStream = new MemoryStream(); IFormatter brFormatter = new BinaryFormatter(); binaryDataResult = memStream.ToArray();return/RetrievedataSetfromdataofbinary/param/icpublicDataSetRetrieveDataSet(byteDataSetdataSetResult=M
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 衛(wèi)生間會員制度
- 旅店衛(wèi)生間管理制度
- 政府值班室衛(wèi)生制度
- 企業(yè)停車場衛(wèi)生管理制度
- 陜西省村衛(wèi)生室管理制度
- 醫(yī)院餐廳衛(wèi)生間管理制度
- 衛(wèi)生院防盜防火制度
- 日料店衛(wèi)生規(guī)章制度
- 衛(wèi)生院財務(wù)內(nèi)控管理制度
- 學(xué)校衛(wèi)生考評制度
- 老年人摔傷后的長期護(hù)理計劃
- 2026年盤錦職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及參考答案詳解一套
- 水利工程質(zhì)量管理制度匯編
- 小區(qū)用火用電管理制度版本(3篇)
- 長期照護(hù)師知識考核試卷及答案
- 測繪服務(wù)收費(fèi)標(biāo)準(zhǔn)更新及執(zhí)行指南
- 鐵路隧道及地下工程施工階段異常工況安全處置指導(dǎo)意見暫行
- 月臺修復(fù)施工方案
- 康養(yǎng)醫(yī)院企劃方案(3篇)
- 2025年成都市中考化學(xué)試題卷(含答案解析)
- 中泰飲食文化交流與傳播對比研究
評論
0/150
提交評論