WCF中的REST架構二 (支援AJAX的WCF服務

來源:互聯網
上載者:User

我在昨天的文章WCF中的REST架構一(REST 概述)談了REST的基本概要,並提出了從HI REST (高REST)到 LO REST (低REST) 的RESTFULness(REST度)的概念。在今天的文章中,我將詳細介紹大家可能最為熟悉的REST風格的WCF 服務:支援AJAX的服務。此類服務應屬於LO REST的範疇。現在很多人直覺地將“好”等同於“高大全”,因而低估了這種LO REST實現的價值。本篇將告訴你這決非事實,支援AJAX的WCF服務是足夠強大的。

解決方案的背景資訊

我有一個底層工作已基本完整的初始解決方案,大部分代碼是作為12集AJAX 客戶庫Webcast 系列的組成部分。提供這個初始解決方案的目的是為了讓我更好地展現支援AJAX的WCF服務的強大能力,避免現場建立一個這樣的服務然後再與AJAX 客戶應用整合所需的冗長步驟(如何你認為我建立的範例應用乏善可陳,請試一下Supersefer,這是一個基於這個範例的希伯來文網上商店)。在這個初始解決方案中請特別注意兩個ASP.Net AJAX 控制項: Catalog.js和ShoppingCart.js.下面的截圖就是這兩個控制項的顯示

Catalog控制項是本篇的重要操作對象,它的任務是接受一個特定的資料結構,顯示一頁產品資訊,作綁定用途,並在使用者選中某樣產品或者點擊瀏覽控制項的時候出發訊息,至於該控制項是如何與宿首頁(Catalog.aspx)互動,大家可以在前面提到的Webcast系列中找到。就本篇而言,我們只要關注Catalog.aspx(宿首頁)中的下列程式碼片段,裡面有一個GetData() 方法。等我們實現了WCF服務之後,就在這個方法裡調用它。我們會給WCF服務傳入諸如startIndex(起始索引)和pageSize(頁的大小)之類的參數(服務的返回資料將是指定頁數的產品資訊), 以及幾個回調方法(服務調用成功或失敗後被回調)。下面也給出了調用成功的回調方法。該方法直接擷取了指向catalog控制項的引用($get 在 asp.net的AJAX中用來指向一個控制項)。然後它將設定當前頁的索引值,再用傳入回呼函數的資料,也就是我們的WCF有效荷載,來設定productInfo屬性。最後,該函數調用控制項的dataBind方法,這個方法直接基於儲存在productInfo屬性中的資料做了一些DOM注入。

添加服務

添加一個支援AJAX的WCF 服務相當簡單。第一步就是使用'AJAX-enabled WCF Service'模板添加服務。過程如下:在Solution Explorer裡面選擇”Add New Item’ > 選擇'AJAX-enabled WCF Service' > 將其命名為 CatalogService.cs > 點擊 ‘Add’.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.