使用AJAX Extensions用戶端進行Web服務調用

來源:互聯網
上載者:User

從根本上講,ASP.NET 自始至終都是一項伺服器端技術。當然,在某些情況下 ASP.NET 會產生用戶端 JavaScript,特別是在驗證控制項中以及在新推出的 Web 組件基礎結構中,但它通常只是簡單地將用戶端 屬性轉換成用戶端行為。作為開發人員,在收到下一個 POST 請求之前不必考慮與用戶端進行互動。對於 需要使用用戶端 JavaScript 和 DHTML 構建更具互動性的頁面的開發人員而言,則需要在 ASP.NET 2.0 指令碼回調功能提供的一些協助下自己編寫代碼。這一情況在去年得到了徹底改變。

在 2005 年 9 月的 Microsoft 在 Microsoft 專業開發人員大會上發布了一個新的 ASP.NET 外掛程式( 代號為“Atlas”),主要是為了充分利用用戶端 JavaScript、DHTML 和 XMLHttpRequest 對 象。其目的是協助開發人員建立更具互動性的支援 AJAX 的 Web 應用程式。此架構從此更名為正式名稱 Microsoft® AJAX Library 和 ASP.NET 2.0 AJAX Extensions,它提供了許多出色的功能,包括客戶 端資料繫結、DHTML 動畫和行為以及使用 UpdatePanel 實現的完善的對用戶端 POST 回調的攔截。這些 功能中的許多功能依賴的是以易於通過用戶端 JavaScript 調用進行分析和互動的形式從伺服器非同步檢索 資料的能力。本月專欄的主題便是這一新的非常有用的能力,即在支援 ASP.NET 2.0 AJAX Extensions 的頁面中通過用戶端 JavaScript 調用伺服器端 Web 服務的能力。

使用 AJAX 調用 Web 服務

如果您曾經使用過 Microsoft .NET Framework 中的 Web 服務,無論是使用 wsel.exe 公用程式 建立代理還是使用 Visual Studio® 的“添加 Web 參考”功能,您就會習慣於使用 .NET 類型調用 Web 服務。實際上,通過 .NET 代理調用 Web 服務方法與在其他類上調用方法非常相似。代理 會根據您傳遞的參數準備 XML,它會妥善地將它收到的 XML 響應轉換成代理方法指定的 .NET 類型。開 發人員可以非常方便地利用 .NET Framework 使用 Web 服務端點,這也使目前面向服務的應用程式變得 可行。

ASP.NET 2.0 AJAX Extensions 使得在瀏覽器中啟動並執行用戶端 JavaScript 實現了無縫的 、與 Web 服務完全相同的代理產生體驗。您可以編寫一個在您的伺服器上承載的 .asmx 檔案,並通過一 個用戶端 JavaScript 類調用該服務上方法。例如,圖 1 顯示了一個簡單的 .asmx 服務,該服務實現了 類比的股票報價檢索(使用隨機資料)。

Figure 1 StockQuoteService.asmx

<%@ WebService Language="C#"        Class="MsdnMagazine.StockQuoteService" %>using System;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;// From Microsoft.Web.Extensions.dll assemblyusing Microsoft.Web.Script.Services;namespace MsdnMagazine{  [WebService(Namespace = "http://msdnmagazine.com/ws")]  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  [ScriptService]  public class StockQuoteService : WebService  {    static Random _rand = new Random(Environment.TickCount);    [WebMethod]    public int GetStockQuote(string symbol)    {      return _rand.Next(0, 120);    }  }}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.