日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
WCF序列化具體應(yīng)用技巧分享

WCF已經(jīng)出現(xiàn)就為廣大開發(fā)人員所青睞。它獨(dú)特的功能能夠幫助我們打造一個(gè)安全性極強(qiáng),可跨平臺(tái)的開發(fā)解決方案。在這里我們就為大家詳細(xì)介紹一下其中一個(gè)比較重要的知識(shí),WCF序列化的相關(guān)應(yīng)用。

創(chuàng)新互聯(lián)于2013年開始,先為酒泉等服務(wù)建站,酒泉等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為酒泉企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

最近想做一個(gè)項(xiàng)目,考慮到需要根據(jù)用戶有可能會(huì)提供不同類型的數(shù)據(jù)所以用到了泛型來實(shí)現(xiàn)其功能:通過RptParameters的不同方法,加入不同類型的值,并且保存在Dictionary中,由于Dictionary中的第二個(gè)參數(shù)只能以object來包含不同類型的值,這就需在WCF序列化在進(jìn)行的時(shí)候?yàn)槠渲该鱇nowTyp屬性,由于屬性標(biāo)示要求是具體的類型,而類型只能在用戶使用時(shí)才能確定,這就出現(xiàn)了矛盾。全部代碼如下,問題出在下面代碼紅色部分,不能正常標(biāo)示泛型屬性。

 
 
 
  1. [DataContract]  
  2. public class RptValue { }  
  3. [DataContract]  
  4. public class RptSingleValue : RptValue 
  5. {  
  6. private T _value;  
  7. [DataMember]  
  8. public T Value  
  9. {  
  10. get { return _value; }  
  11. set { _value = value; }  
  12. }  
  13. }  
  14. [DataContract]  
  15. public class RptFromToValue : RptValue 
  16. {  
  17.  private T _fvalue;  
  18. [DataMember]  
  19. public T FromValue  
  20. {  
  21. get { return _fvalue; }  
  22. set { _fvalue = value; }  
  23. }  
  24. private T _tvalue;  
  25. [DataMember]  
  26. public T ToValue  
  27. {  
  28. get { return _tvalue; }  
  29. set { _tvalue = value; }  
  30. }  
  31. }  
  32. //[KnownType(typeof(RptSingleValue))]  
  33. //[KnownType(typeof(RptFromToValue))]  
  34. //[KnownType(typeof(RptValue))]  
  35. [DataContract]  
  36. public class RptParameters  
  37. {  
  38. private Dictionary _datas=new Dictionary();  
  39. [DataMember]  
  40. public Dictionary Data  
  41. {  
  42. get { return _datas; }  
  43. set { _datas = value; }  
  44. }  
  45. public void AddSingleValue(string name,T value){  
  46. if (!this._datas.ContainsKey(name))  
  47. {  
  48. RptSingleValue rs = new RptSingleValue();  
  49. rs.Value = value;  
  50. this._datas.Add(name, rs);  
  51. }  
  52. }  
  53. public void AddFromToValue(string name,T fromValue,T toValue)  
  54. {  
  55. if (!this._datas.ContainsKey(name))  
  56. {  
  57. RptFromToValue rft = new RptFromToValue();  
  58. rft.FromValue = fromValue;  
  59. rft.ToValue = toValue;  
  60. this._datas.Add(name,rft);  
  61. }  
  62. }  

上面代碼中紅色字體部分,是需要完善的地方,如果去掉注釋會(huì)出現(xiàn)如下圖的錯(cuò)誤傳到不能編譯通過,如果不加上,WCF序列化則不能通過。


當(dāng)前名稱:WCF序列化具體應(yīng)用技巧分享
網(wǎng)站URL:http://m.5511xx.com/article/cohhjio.html