成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

WCF版本更新應用直接修改方法實現

開發 開發工具
我們將會在接下來的這篇文章中為大家詳細介紹一下有關WCF版本更新的不同實現方式,希望大家可以從中獲得一些幫助。

大多數開發人員在使用WCF進行版本更新時,大部分都會通過繼承的方式來實現。那么,還有沒有其他更加簡便的方式呢?下面我們就為大家介紹一種直接修改原有服務和數據類型的方法來實現WCF版本更新。

WCF版本更新測試原型:

  1. [DataContract]  
  2. public class Data  
  3. {  
  4. [DataMember]  
  5. public int x;  
  6. }  
  7. [ServiceContract]  
  8. public interface IMyService  
  9. {  
  10. [OperationContract]  
  11. void Test(Data d);  

客戶端代理

  1. //------------------------------------------  
  2. // < auto-generated> 
  3. // 此代碼由工具生成。  
  4. // 運行庫版本:2.0.50727.42  
  5. //  
  6. // 對此文件的更改可能會導致不正確的行為,并且如果  
  7. // 重新生成代碼,這些更改將會丟失。  
  8. // < /auto-generated> 
  9. //-------------------------------------------  
  10. namespace ConsoleApplication1.localhost  
  11. {  
  12. [GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]  
  13. [DataContractAttribute(Namespace = "...")]  
  14. [SerializableAttribute()]  
  15. public partial class Data : object, IExtensibleDataObject  
  16. {  
  17. [OptionalFieldAttribute()]  
  18. private int xField;  
  19. [DataMemberAttribute()]  
  20. public int x  
  21. {  
  22. get  
  23. {  
  24. return this.xField;  
  25. }  
  26. set  
  27. {  
  28. this.xField = value;  
  29. }  
  30. }  
  31. }  
  32. [GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]  
  33. [ServiceContractAttribute(ConfigurationName = 
    "ConsoleApplication1.localhost.IMyService")]  
  34. public interface IMyService  
  35. {  
  36. [OperationContractAttribute(Action = "http://tempuri.org/IMyService/Test", 
    ReplyAction = "...")]  
  37. void Test(Data d);  
  38. }  
  39. [GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]  
  40. public interface IMyServiceChannel : IMyService, IClientChannel  
  41. {  
  42. }  
  43. [DebuggerStepThroughAttribute()]  
  44. [GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]  
  45. public partial class MyServiceClient : ClientBase< IMyService>, 
    IMyService  
  46. {  
  47. public void Test(Data d)  
  48. {  
  49. base.Channel.Test(d);  
  50. }  
  51. }  

我們將對該服務和數據類型進行升級,添加新的成員和服務方法來實現WCF版本更新。

  1. [DataContract]  
  2. public class Data  
  3. {  
  4. [DataMember]  
  5. public int x;  
  6. [DataMember]  
  7. public int y;  
  8. }  
  9. [ServiceContract]  
  10. public interface IMyService  
  11. {  
  12. [OperationContract]  
  13. void Test(Data d);  
  14. [OperationContract]  
  15. void Test2(int x);  

測試結果表明,客戶端在不更新代理文件的情況下依然正常執行。看來直接通過修改進行版本更新也沒有什么問題。要是我們修改了成員的名稱會怎么樣?也沒問題,不過要使用 Name 屬性了。

  1. [DataContract]  
  2. public class Data  
  3. {  
  4. [DataMember(Name="x")]  
  5. public int x2;  
  6. [DataMember]  
  7. public int y;  
  8. }  
  9. [ServiceContract]  
  10. public interface IMyService  
  11. {  
  12. [OperationContract]  
  13. void Test(Data d);  
  14. [OperationContract]  
  15. void Test2(int x);  

WCF版本更新的操作提示:

1. ***為服務和相關成員特性添加 Namespace / Name 屬性。

2. 還是使用繼承方式進行版本更新要好些,避免因為意味更改造成原有客戶端無法執行。

【編輯推薦】

  1. WCF枚舉類型正確使用方法演示
  2. WCF服務實例管理模式之PreSession應用
  3. WCF控制服務對象釋放特殊方式介紹
  4. 深入分析WCF事務投票實現方式
  5. WCF MSMQ隊列基本概念簡述
責任編輯:曹凱 來源: 豆豆網
相關推薦

2009-12-22 16:36:38

WCF重載

2009-12-22 17:30:47

WCF Address

2009-12-21 16:04:45

WCF Dispose

2010-02-22 11:02:06

WCF元數據

2009-12-21 17:48:30

WCF方法重載

2010-02-22 14:28:35

WCF實現loadin

2009-12-21 17:40:25

WCF會話

2010-03-02 17:35:20

WCF服務加載

2010-02-24 09:38:58

WCF應用編碼

2010-02-24 11:22:04

WCF方法重載

2010-02-26 16:05:14

寄宿WCF服務

2009-12-21 17:24:46

WCF負載平衡

2010-02-23 14:48:38

WCF事件通知

2009-12-21 18:10:50

WCF實現事件通知

2010-02-25 09:58:05

WCF配置指定Addr

2010-02-26 11:22:16

LitwareHR使用

2009-12-21 14:58:57

WCF用戶密碼認證

2010-02-24 16:39:27

WCF客戶端處理

2010-02-25 13:48:23

WCF動態創建代碼

2010-02-25 16:52:12

引用WCF服務
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产三级 | 成人欧美一区二区三区黑人孕妇 | 国产精品久久久久久吹潮日韩动画 | 91亚洲一区 | 91在线免费视频 | 国产日韩欧美在线 | 国产成人99久久亚洲综合精品 | www.嫩草| 亚洲3p| 人人爱干| 国产色婷婷精品综合在线手机播放 | 国产精品综合色区在线观看 | 久久精品国产亚洲夜色av网站 | 在线精品一区二区三区 | 天天操操操操操 | 久久亚洲国产精品日日av夜夜 | 久久天堂网 | 成人免费三级电影 | 超碰3| 亚洲欧美激情国产综合久久久 | 伊人久久综合影院 | 免费国产黄网站在线观看视频 | 国产精品免费一区二区三区四区 | 亚洲美女av网站 | 91精品久久久久久久久久入口 | 嫩草懂你的影院入口 | 欧美性生交大片免费 | 精品自拍视频 | 亚洲午夜精品久久久久久app | 久久精品国产亚洲一区二区 | 久久久91| 婷婷激情综合 | 国产婷婷色一区二区三区 | 国产精品欧美日韩 | 一区二区视频 | 久草成人| 亚洲毛片在线观看 | 777zyz色资源站在线观看 | 精品久久久久久久久久久久久久 | 中文av电影 | 欧美精品区 |