HOW TO:使用組態新增 ASP.NET AJAX 端點
Windows Communication Foundation (WCF) 可讓您建立服務以提供啟用 ASP.NET AJAX 的端點,進而透過用戶端網站上的 JavaScript 來進行呼叫。若要建立此類端點,您可以使用組態檔 (如同建立所有其他 Windows Communication Foundation (WCF) 端點一般),或是使用不需要任何組態項目的方法。本主題示範組態方法。
讓服務端點成為啟用了 ASP.NET AJAX 的程序部分包含設定端點使用 WebHttpBinding 並新增 <enableWebScript> 端點行為。設定好端點之後,實作與裝載服務的步驟與其他 WCF 服務所採用的步驟很類似。如需實用範例,請參閱使用 HTTP POST 的 AJAX 服務。
如需詳細資訊不使用組態來設定 ASP.NET AJAX 端點的詳細資訊,請參閱 HOW TO:不使用組態新增 ASP.NET AJAX 端點。
若要建立基本 WCF 服務
使用以 ServiceContractAttribute 屬性標記的介面來定義基本的 WCF 服務合約。以 OperationContractAttribute 標記每項作業。請務必設定 Namespace 屬性。
[ServiceContract(Namespace = "MyService")] public interface ICalculator { [OperationContract] // This operation returns the sum of d1 and d2. double Add(double n1, double n2); //Other operations omitted… }
使用
CalculatorService
來實作ICalculator
服務合約。public class CalculatorService : ICalculator { public double Add(double n1, double n2) { return n1 + n2; } //Other operations omitted…
定義
ICalculator
和CalculatorService
實作的命名空間,方法是將它們包裝在命名空間區塊中。Namespace Microsoft.Ajax.Samples { //Include the code for ICalculator and Caculator here. }
若要建立服務的 ASP.NET AJAX 端點
針對服務中啟用了 ASP.NET AJAX 的端點,建立行為組態並指定 <enableWebScript> 行為。
<system.serviceModel> <behaviors> <endpointBehaviors> <behavior name="AspNetAjaxBehavior"> <enableWebScript /> </behavior> </endpointBehaviors> </behaviors> </system.serviceModel>
針對使用 WebHttpBinding 和 ASP.NET AJAX 行為 (上一個步驟中所定義) 的服務,建立其端點。
<system.serviceModel> <services> <service name="Microsoft.Ajax.Samples.CalculatorService"> <endpoint address="" behaviorConfiguration="AspNetAjaxBehavior" binding="webHttpBinding" contract="Microsoft.Ajax.Samples.ICalculator" /> </service> </services> </system.serviceModel>
若要在 IIS 中裝載服務
若要在 IIS 中裝載服務,請在應用程式中建立一個名為 service 且副檔名為 .svc 的新檔案。您可以為服務新增適當的 @ServiceHost 指示資訊,編輯這個檔案。例如,
CalculatorService
範例中的服務檔案內容包含下列資訊。<%@ServiceHost language=c# Debug="true" Service="Microsoft.Ajax.Samples.CalculatorService" %>
如需詳細資訊在 IIS 中裝載的詳細資訊,請參閱 HOW TO:在 IIS 中裝載 WCF 服務。
若要呼叫服務
- 端點會在相對於 .svc 檔案的空白位址上設定,因此服務現在可以使用而且可藉由將要求傳送至 service.svc/<operation> 來叫用。例如,
Add
作業的 service.svc/Add。您可以將端點 URL 輸入 ASP.NET AJAX 指令碼管理員控制項的指令碼集合來加以使用。如需範例,請參閱使用 HTTP POST 的 AJAX 服務。
另請參閱
工作
HOW TO:將啟用 AJAX 的 ASP.NET Web 服務移轉至 WCF