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

Silverlight中服務通信方式的選擇

  WCF Service(WebService)

  Web Services是經實踐考驗證明的跨防火墻的通信方式,它很穩定且被廣泛認可。總的來說你需要為分散的CRUD操作指定相應的接口并在Silverlight中忠實的調用他們。

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

  ADO.NET Data Services

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

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

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

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

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

NET技術Silverlight中服務通信方式的選擇,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 云梦县| 三亚市| 南木林县| 盘锦市| 开化县| 洱源县| 右玉县| 遂川县| 高淳县| 澎湖县| 任丘市| 和田县| 扶余县| 湖州市| 丹东市| 龙游县| 水富县| 信宜市| 英吉沙县| 鹤庆县| 兖州市| 岗巴县| 建宁县| 根河市| 霍山县| 北流市| 镇雄县| 临夏市| 盘山县| 潞城市| 确山县| 眉山市| 舒兰市| 泾川县| 英超| 民乐县| 轮台县| 利辛县| 钟山县| 岳阳市| 临高县|