作法:使用組態新增 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 端點的詳細資訊,請參閱如何:不使用組態新增 ASP.NET AJAX 端點

若要建立基本 WCF 服務

  1. 使用以 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…  
    
    }  
    
  2. 使用 ICalculator 來實作 CalculatorService 服務合約。

    public class CalculatorService : ICalculator  
    {  
        public double Add(double n1, double n2)  
        {  
            return n1 + n2;  
        }
        // Other operations omitted…
    }
    
  3. 定義 ICalculatorCalculatorService 實作的命名空間,方法是將它們包裝在命名空間區塊中。

    namespace Microsoft.Ajax.Samples
    {  
        //Include the code for ICalculator and Calculator here.  
    }  
    

若要建立服務的 ASP.NET AJAX 端點

  1. 針對服務中啟用了 ASP.NET AJAX 的端點,建立行為組態並指定 <enableWebScript> 行為。

    <system.serviceModel>  
        <behaviors>  
            <endpointBehaviors>  
                <behavior name="AspNetAjaxBehavior">  
                    <enableWebScript />  
                </behavior>  
            </endpointBehaviors>  
        </behaviors>  
    </system.serviceModel>  
    
  2. 針對使用 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 中裝載服務

  1. 若要在 IIS 中裝載服務,請在應用程式中建立一個名為 service 且副檔名為 .svc 的新檔案。 您可以為服務新增適當的 @ServiceHost 指示詞,來編輯這個檔案。 例如,CalculatorService 範例中的服務檔案內容包含下列資訊。

    <%@ServiceHost
    language=c#
    Debug="true"
    Service="Microsoft.Ajax.Samples.CalculatorService"  
    %>  
    
  2. 如需在 IIS 中裝載的詳細資訊,請參閱如何:在 IIS 中裝載 WCF 服務

若要呼叫服務

  1. 端點會在相對於 .svc 檔案的空白位址上設定,因此服務現在可以使用,而且可藉由將要求傳送至 service.svc/<operation> 來叫用。例如,Add 作業的 service.svc/Add。 您可以將端點 URL 輸入 ASP.NET AJAX 指令碼管理員控制項的指令碼集合來加以使用。 如需範例,請參閱使用 HTTP POST 的 AJAX 服務

另請參閱