亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

我們一起學習WCF第五篇數據協定和消息協定

2019-11-14 15:56:09
字體:
來源:轉載
供稿:網友

      A:數據協定(“數據協定”是在服務與客戶端之間達成的正式協議,用于以抽象方式描述要交換的數據。 也就是說,為了進行通信,客戶端和服務不必共享相同的類型,而只需共享相同的數據協定。 數據協定為每個參數或返回類型精確定義為進行交換而序列化哪些數據(將哪些數據轉換為 xml)摘自MSDN)也就說數據協定是客戶端和服務端之間達成的數據協議,相互通信的參數會被序列化然后進行傳輸。那么我用圖來表示為什么用數據協定。

下面用圖來說明其幾個用處

 

那么下面我們來看看數據協定的代碼實現

1:創建一個協定類

 1  [DataContract] 2    public class People 3     { 4         /// <summary> 5         /// ID 6         /// </summary> 7         [DataMember(Name="MID")] 8         public string ID { set; get; } 9         /// <summary>10         /// 姓名11         /// </summary>12         [DataMember(Name="MName")]13         public string Name { set; get; }14         /// <summary>15         /// 序號16         /// </summary>17         [DataMember(Name="MNumber")]18         public string Number { set;get; }19         /// <summary>20         /// 年齡21         /// </summary>22        [DataMember(Name="Mage")]23         public string Age { set; get; }24     }
協定類

2:創建接口

[OperationContract]
People GetPeople(string ID);

3:實現接口

 1  public class Service:IService 2     { 3        public People GetPeople(string ID) 4        { 5            People pp=new People(); 6            pp.ID = Guid.NewGuid().ToString(); 7            pp.Name = "小馬"; 8            pp.Age = "22"; 9            pp.Number = "13559846";10            return pp;11        }
實現接口

4:服務端同上篇看看效果

5:解釋:我們在協定類的屬性最后都是按照我們定義的這么一來起著保護類實體的作用。

以上就是我簡單理解的數據協定。不足之處請指正

B:消息協定

為什么用消息協定:

您可能希望使用單個類型來表示整個消息。 雖然可將數據協定用于此目的,但建議使用消息協定來執行此操作,這可以避免在得到的 XML 中采用不必要的包裝級別。 此外,使用消息協定可以對得到的消息進行更多的控制。 例如,您可以決定哪些信息段應包含在消息正文中,哪些信息段應包含在消息頭中

從圖中我們可以看出消息協定比數據協定對信息更加容易控制。

那么我們來用代碼表示一下

1:首先我們定義一個頭消息(專門用于檢測用戶登錄信息)

 1  [MessageContract] 2    public class CheckInfo 3     { 4         /// <summary> 5         /// 用戶名 6         /// </summary> 7         [MessageHeader] 8         public string UserName { set; get; } 9         /// <summary>10         /// 密碼11         /// </summary>12         [MessageHeader]13         public string Pwd { set; get; }     14     }
驗證類

2:開始定義正文信息(用戶信息)

1 [MessageContract]  2    public class UserInfo3     {4         [MessageBodyMember]5         public string RealName { set; get; }6         [MessageBodyMember]7         public string Age { set; get; }8         [MessageBodyMember]9         public Details Udetails { set; get; }
正文類

3:做完這些之后我們就去實現這些代碼(首先進行在頭消息進行驗證)

  public UserInfo RetUserInfo(CheckInfo cki)       {           UserInfo uf = new UserInfo();           if (cki.UserName == "admin")           {               if (cki.Pwd == "123456")               {                   Console.WriteLine(cki.UserName + ":登錄成功{0}  ", DateTime.Now);                   uf = GetUserInfo();               }           }           else           {               Console.WriteLine(cki.UserName+":登錄失敗{0}  ",DateTime.Now);           }           return uf;       }
部分源碼

4:啟動服務客戶端進行引用

注意: 作為操作協定的輸入消息協定(參數)封裝了操作方法的所有in參數;作為操作協定的返回值的消息協定(return)封裝了out參數和返回值。

也就是說輸入的參數是in類型(把輸入類進行肢解)返回時out類型具體參考源碼

5:效果截圖

服務端

客戶端:

源碼下載

好了就講這么多了。歡迎指正


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品免费在线观看| 欧美激情2020午夜免费观看| 欧美在线观看www| 欧美高清视频免费观看| 国产精品视频久久久| 91成品人片a无限观看| 黑人狂躁日本妞一区二区三区| 国产一区二区三区精品久久久| 亚洲在线视频观看| 欧美一级大胆视频| 国产精品日韩久久久久| 亚洲精品丝袜日韩| 成人激情在线观看| 国产成人精品一区二区三区| 国产成人精品日本亚洲| 久久久成人av| 91免费的视频在线播放| 国产亚洲精品成人av久久ww| 91高潮精品免费porn| 国产精品久久国产精品99gif| 国产精品日韩久久久久| 国产精品第8页| 亚洲品质视频自拍网| 一本色道久久88精品综合| 欧美成人免费大片| 中文字幕精品久久| 国产精品中文久久久久久久| 在线播放国产精品| 亚洲视频在线看| 国产成人一区二区三区| 日韩电视剧免费观看网站| 97精品欧美一区二区三区| 日韩电影大全免费观看2023年上| 青草青草久热精品视频在线网站| 亚洲国产成人精品一区二区| 亚洲成人网久久久| 亚洲18私人小影院| 成人天堂噜噜噜| 精品日韩视频在线观看| 国产精品18久久久久久麻辣| 亚洲美女又黄又爽在线观看| 岛国av一区二区| 久久久91精品| 国产成人aa精品一区在线播放| 91经典在线视频| 亚洲精品久久久一区二区三区| 自拍视频国产精品| 亚洲欧美另类人妖| 国产999精品视频| 亚洲成人免费在线视频| 亚洲成av人乱码色午夜| 国产成+人+综合+亚洲欧洲| 永久555www成人免费| 国产亚洲日本欧美韩国| 久久久久久久亚洲精品| 久久久久久伊人| 这里只有视频精品| 国内免费精品永久在线视频| 米奇精品一区二区三区在线观看| 欧美激情一区二区三区高清视频| 91精品国产乱码久久久久久蜜臀| 久久久在线视频| 亚洲精品狠狠操| 成人av色在线观看| www国产91| 91精品国产色综合久久不卡98| 国产精品免费一区二区三区都可以| 欧美日韩精品在线| 久久国产精品久久久久久久久久| 久久高清视频免费| 日韩欧美第一页| 精品免费在线观看| 91久久国产精品91久久性色| 亚洲爱爱爱爱爱| 北条麻妃一区二区在线观看| 按摩亚洲人久久| 国产91精品久久久久| 97精品一区二区视频在线观看| 亚洲欧洲自拍偷拍| 亚洲第一黄色网| 国产日产欧美精品| 成人免费网站在线| 日韩大片在线观看视频| 日韩视频在线观看免费| 亚洲精品理论电影| 日韩精品欧美国产精品忘忧草| 久久久久久久久久婷婷| 在线播放日韩av| 久久夜色精品国产| 91牛牛免费视频| 亚洲国产精品999| 欧美激情影音先锋| 久久久91精品国产| 国产精品久久久久久亚洲影视| 欧美精品18videosex性欧美| 久久精品久久精品亚洲人| 一区二区成人精品| 日韩av在线一区二区| 久久久久久久一区二区三区| 国产日韩精品在线| 亚洲摸下面视频| 欧美日韩一区二区免费视频| 国模精品视频一区二区| 亚洲精品av在线| 亚洲香蕉成视频在线观看| 久久这里有精品| 日韩在线观看免费高清完整版| 九色91av视频| 日韩电影中文字幕在线| 久久亚洲影音av资源网| 欧美大片va欧美在线播放| 亚洲最大的av网站| 91精品国产色综合| 国产欧美日韩精品专区| 亚洲香蕉在线观看| 青青久久av北条麻妃海外网| 久久精品一区中文字幕| 26uuu另类亚洲欧美日本一| 亚洲国产精品中文| 成人a级免费视频| 中文字幕亚洲无线码在线一区| 成人福利在线视频| 亚洲大胆人体av| 亚洲伊人一本大道中文字幕| 国产精品久久久久久久久久99| 国产国语刺激对白av不卡| 日韩美女写真福利在线观看| 亚洲第一页自拍| 国产精品伦子伦免费视频| 亚洲精品国产精品国自产在线| 欧美激情视频给我| 成人黄色影片在线| 亚洲女在线观看| 欧美激情久久久久| 欧美性猛交xxxx久久久| 欧美在线视频免费观看| 久久精品久久久久电影| 色悠久久久久综合先锋影音下载| 色青青草原桃花久久综合| 久久久久久国产| 欧美日韩一区免费| 亚洲性生活视频| 一个人看的www欧美| 欧美大人香蕉在线| 国产在线98福利播放视频| 97视频免费在线看| 亚洲国产精品999| 成人av在线天堂| 国产日韩欧美电影在线观看| 97视频在线观看亚洲| 精品国产乱码久久久久久婷婷| 亚洲成人激情在线观看| 日韩国产精品亚洲а∨天堂免| 精品网站999www| 菠萝蜜影院一区二区免费| 亚洲视频在线免费看| 欧美成人免费一级人片100| 国产亚洲精品91在线| 欧美精品在线免费播放| 日韩毛片在线看| 日日骚av一区| 国产成人精品久久二区二区91| 亚洲免费影视第一页| 久久久爽爽爽美女图片|