WCF筆記 2 資料協定

2021-06-13 01:41:13 字數 2159 閱讀 2139

一、使用資料協定的好處:

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 屬性...