一、使用資料協定的好處:
1、使用資料協定可以靈活控制哪些成員應該被客戶端識別。
2、隱藏真實身份(給類或成員取別名)
二、**示例
1、服務端
定義實現資料協定的類
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
using system.runtime.serialization;
namespace server
/// /// **
///
[datamember]
public int phone
/// /// 位址
///
[datamember]
public addressinfo address
/// /// 成績單
///
[datamember]
public object scores
}}
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
using system.runtime.serialization;
namespace server
/// /// 城市
///
[datamember]
public string city
/// /// 街道
///
[datamember]
public string street
}}
定義並啟動服務
using system;
using system.collections.generic;
using system.linq;
using system.servicemodel;
using system.servicemodel.description;
using system.text;
using system.threading.tasks;
namespace server
); //啟動服務
trycatch (exception ex)
console.readkey();
//關閉服務
host.close();}}
}/// /// 定義服務協定
///
[servicecontract]
public inte***ce iservice
/// /// 實現服務協定
///
public class myservice : iservice,};
dictionaryscores = new dictionary();
scores.add("語文", 83.3f);
scores.add("數學", 90.7f);
scores.add("英語", 85.5f);
st.scores = scores;
return st;}}
}
2、客戶端
先新增服務引用
再呼叫服務端的方法獲取學生資訊
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace client
:", item.key, item.value);
}console.readkey();}}
}
WCF資料協定
今天還是按部就班的開始在msdn裡面翻找wcf的資料。先從定義開始吧。看著下面這些 我貌似發現乙個東西,那就是帶有 datamember 標籤的方法都是可以給客戶端開放使用的,不帶有的客戶端就不給用,好像就是這樣的。datacontract namespace internal class reco...
WCF筆記 4 訊息協定
一 訊息協定和資料協定的定義方式相同,為類新增訊息協定特性 messagecontract 這樣我們就可以定義乙個訊息協定類了 二 示例 資料協定類 藝術品資訊 datacontract public class artinfo 創作時間 datamember public datetime cre...
WCF系列教程之WCF操作協定
一 簡介 1 在定義服務協定時,在它的操作方法上都會加上operationcontract特性,此特性屬於operationcontractattribute 類,將operationcontract應用於方法,以指示該方法實現作為服務協定 由 servicecontractattribute 屬性...