色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Silverlight中服務(wù)通信方式的選擇

  WCF Service(WebService)

  Web Services是經(jīng)實(shí)踐考驗(yàn)證明的跨防火墻的通信方式,它很穩(wěn)定且被廣泛認(rèn)可。總的來說你需要為分散的CRUD操作指定相應(yīng)的接口并在Silverlight中忠實(shí)的調(diào)用他們。

  • 使用的原因:需要進(jìn)行類似直接通過服務(wù)進(jìn)行數(shù)據(jù)庫交互操作的項(xiàng)目(弱化業(yè)務(wù)邏輯部分)。
  • 避免使用的原因:必須始終自己監(jiān)視數(shù)據(jù)的變化并調(diào)用相應(yīng)的服務(wù)方法進(jìn)行更新,任何需要并發(fā)的操作或事務(wù)變得較為沉重且需要處理大量的代碼。

  ADO.NET Data Services

  ADO.NET Data Services是一套簡單的基于REST的數(shù)據(jù)通信方式。它依賴于Http定義服務(wù)接口,如Get操作定義為讀寫、Post操作定義為更新等。它使用ATOM或JSON作為序列化格式,所以可以被各種類型的客戶端調(diào)用。

  他通過將基于URI的API轉(zhuǎn)換為LINQ調(diào)用從而提供插入、更新、刪除等操作。這意味著ADO.NET本身是很單薄的一層,它的目的是將URI模型翻譯為數(shù)據(jù)通信代碼。

  對于Silverlight來說,ADO.NET Data Services真正的亮點(diǎn)在于其提供的客戶端類庫。這個(gè)客戶端類庫允許開發(fā)者在客戶端使用LINQ查詢并在服務(wù)端執(zhí)行。當(dāng)然它支持的LINQ語法相比服務(wù)端有一些局限,大概覆蓋80%的場景,當(dāng)然ADO.NET Data Service也允許開發(fā)者在必要時(shí)自定義剩余的操作以適應(yīng)其他場景。另外,客戶端類庫提供一個(gè)強(qiáng)大的Data上下文類用以監(jiān)視和處理有事務(wù)支持的批量操作。

  使用ADO.NET Data Services公開數(shù)據(jù)通信實(shí)際上是宮公開查詢終結(jié)點(diǎn)的方式替代定義接口,這就是它最特別的地方。比如,我們可以像這樣使用LINQ查:

// Silverlight 代碼
// 使用 LINQ 創(chuàng)建擦汗尋
var qry
= (from g in ds.Games
where g.Price < 50m
orderby g.Name
select g)
as DataServiceQuery<Game>;
// 執(zhí)行查詢
qry.BeginExecute(
new AsyncCallback(r =>
{
  games2.ItemsSource
= qry.EndExecute(r).ToList();
  games2.DisplayMemberPath
= "Name";
}),
null);

NET技術(shù)Silverlight中服務(wù)通信方式的選擇,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 平罗县| 安塞县| 会昌县| 惠来县| 精河县| 柳州市| 普兰店市| 苏尼特左旗| 邵阳县| 怀来县| 华亭县| 佛冈县| 济源市| 女性| 长沙市| 高要市| 合作市| 丘北县| 扬中市| 德清县| 九龙坡区| 大石桥市| 北川| 格尔木市| 九寨沟县| 伊通| 娄底市| 陇川县| 紫阳县| 迭部县| 南部县| 阿拉善右旗| 建阳市| 阳泉市| 晴隆县| 科技| 高淳县| 丰顺县| 渭源县| 广西| 松原市|