Microsoft ASP.NET AJAX 可讓您快速建立網頁,其中包含具有回應式和熟悉使用者介面元素的豐富用戶體驗。 ASP.NET AJAX 提供用戶端腳本連結庫,其中包含跨瀏覽器 ECMAScript (JavaScript) 和動態 HTML (DHTML) 技術,並將它們與 ASP.NET 2.0 伺服器型開發平臺整合。 藉由使用 ASP.NET AJAX,您可以改善 Web 應用程式的用戶體驗和效率。
ASP.NET AJAX 是由用戶端腳本連結庫和伺服器元件所組成,這些元件已整合以提供強固的開發架構。 若要從 ASP.NET 頁面存取服務:一旦服務 URL 新增至頁面上的 ASP.NET Script Manager 控件,就可以使用與一般 JavaScript 函式呼叫完全相同的 JavaScript 程式代碼來叫用服務作業。
大部分的 Windows Communication Foundation (WCF) 服務可能會藉由新增適當的 ASP.NET AJAX 端點,公開為與 ASP.NET AJAX 相容的服務。
如果您使用 Visual Studio,您可以使用預先建置的範本來使用已啟用 AJAX 的 WCF 服務,可在使用 ASP.NET 網站或 Web 應用程式時,於 [ 新增專案 ] 對話方塊中取得。
如果您未使用 Visual Studio 範本,有兩種方式可以建立 ASP.NET AJAX 端點:
使用動態主機啟用建立端點,而不需使用任何設定。 如果您不熟悉 WCF 組態系統,這是最基本的方法。 如需詳細資訊,請參閱 How to: Add an ASP.NET AJAX Endpoint Without Using Configuration。
使用組態將已啟用 AJAX 的端點新增至 WCF 服務。 如需詳細資訊,請參閱 如何:使用組態新增 ASP.NET AJAX 端點。
WCF Web HTTP 程式設計模型概觀中所述的 Web 程式設計模型可以與 AJAX 服務 ASP.NET 搭配使用。 具體說來:
您可以使用 WebGetAttribute 和 WebInvokeAttribute 屬性來選取 HTTP GET 和 HTTP POST 動詞。 如果正確使用,這可能會大幅改善應用程式的效能。 如需詳細資訊,請參閱 如何:選擇 ASP.NET AJAX 端點的 HTTP POST 和 HTTP GET 要求。
您可以使用 ResponseFormat 和 ResponseFormat 屬性,讓您的服務傳回 XML 數據,而不是預設的 JavaScript 物件表示法 (JSON)。 使用 ASP.NET AJAX 架構執行此動作,會導致 JavaScript 用戶端接收 XML DOM 物件。
警告
您的作業必須將內容類型設定為 text/xml,才能運作。 否則,JavaScript 用戶端會收到包含 XML 而不是 XML DOM 物件的字串。
以下是傳回適當設定內容類型之 XML 資料的作業範例:
[OperationContract, WebGet(ResponseFormat=WebMessageFormat.Xml)] public XElement GetData() { XElement x; //Get some data here... WebOperationContext.Current.OutgoingResponse.ContentType = "text/xml"; return x; }如果需要與 ASP.NET AJAX 相容,則無法變更 WebGetAttribute 和 WebInvokeAttribute 屬性上的其他屬性。 只要不違反 ASP.NET AJAX 呼叫慣例,就可以使用 Web 程式設計模型的其他層面。
更進階的案例需要瞭解 WCF 中 AJAX 支援的一些額外詳細數據:
若要瞭解如何使用 JavaScript 在 AJAX 頁面用戶端與 WCF 服務之間傳輸數據,以及如需 .NET Framework 類型如何對應至 JavaScript 類型的詳細資訊,請參閱 JSON 和其他數據傳輸格式的支援。
若要利用 ASP.NET 功能,例如 URL 型驗證和存取 ASP.NET 工作階段資訊,您可以透過組態啟用 ASP.NET 相容性模式。
WCF 中的 AJAX 端點甚至可以被使用,而不需要使用 ASP.NET AJAX 架構。 這樣做需要瞭解 WCF 中 AJAX 支援的支持架構。 如需此架構的討論,請參閱 WCF Web HTTP 程式設計物件模型。 如需示範此方法的程式代碼範例,請參閱 使用 JSON 和 XML 的 AJAX 服務。