Sdílet prostřednictvím


Postupy: Použití konfigurace k přidání koncového bodu ASP.NET AJAX

Windows Communication Foundation (WCF) umožňuje vytvořit službu, která zpřístupňuje koncový bod s podporou jazyka AJAX ASP.NET, který lze volat z JavaScriptu na klientském webu. K vytvoření takového koncového bodu můžete použít konfigurační soubor, stejně jako u všech ostatních koncových bodů Windows Communication Foundation (WCF), nebo použít metodu, která nevyžaduje žádné konfigurační prvky. Toto téma ukazuje přístup ke konfiguraci.

Součástí postupu, který umožňuje, aby se koncový bod služby stal ASP.NET AJAX se skládá z konfigurace koncového bodu pro použití WebHttpBinding a přidání chování koncového <bodu enableWebScript> . Po nakonfigurování koncového bodu jsou kroky pro implementaci a hostování služby podobné krokům používaným jakoukoli službou WCF. Funkční příklad najdete ve službě AJAX pomocí http POST.

Další informace o tom, jak nakonfigurovat koncový bod ASP.NET AJAX bez použití konfigurace, najdete v tématu Postupy: Přidání koncového bodu ASP.NET AJAX bez použití konfigurace.

Vytvoření základní služby WCF

  1. Definujte základní kontrakt služby WCF s rozhraním označeným atributem ServiceContractAttribute . Označte každou operaci pomocí znaku OperationContractAttribute. Nezapomeňte nastavit Namespace vlastnost.

    [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. Implementace kontraktu ICalculator služby s .CalculatorService

    public class CalculatorService : ICalculator  
    {  
        public double Add(double n1, double n2)  
        {  
            return n1 + n2;  
        }
        // Other operations omitted…
    }
    
  3. Definujte obor názvů pro implementaci ICalculator a CalculatorService zabalte je do bloku oboru názvů.

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

Vytvoření koncového bodu ASP.NET AJAX pro službu

  1. Vytvořte konfiguraci chování a zadejte <chování enableWebScript> pro ASP.NET koncové body služby s podporou jazyka AJAX.

    <system.serviceModel>  
        <behaviors>  
            <endpointBehaviors>  
                <behavior name="AspNetAjaxBehavior">  
                    <enableWebScript />  
                </behavior>  
            </endpointBehaviors>  
        </behaviors>  
    </system.serviceModel>  
    
  2. Vytvořte koncový bod pro službu, která používá WebHttpBinding chování AJAX a ASP.NET definované v předchozím kroku.

    <system.serviceModel>  
        <services>  
            <service name="Microsoft.Ajax.Samples.CalculatorService">  
                <endpoint address=""  
                    behaviorConfiguration="AspNetAjaxBehavior"
                    binding="webHttpBinding"  
                    contract="Microsoft.Ajax.Samples.ICalculator" />  
            </service>  
        </services>  
    </system.serviceModel>
    

Hostování služby ve službě IIS

  1. Pokud chcete službu hostovat ve službě IIS, vytvořte v aplikaci nový soubor s příponou .svc. Upravte tento soubor přidáním příslušných informací o direktivě @ServiceHost pro službu. Například obsah v souboru služby pro ukázku CalculatorService obsahuje následující informace.

    <%@ServiceHost
    language=c#
    Debug="true"
    Service="Microsoft.Ajax.Samples.CalculatorService"  
    %>  
    
  2. Další informace o hostování ve službě IIS naleznete v tématu Postupy: Hostování služby WCF ve službě IIS.

Volání služby

  1. Koncový bod je nakonfigurovaný na prázdné adrese vzhledem k souboru .svc, takže služba je nyní dostupná a může být vyvolána odesláním požadavků na service.svc/<operation> – například service.svc/Add pro Add operaci. Můžete ho použít zadáním adresy URL koncového bodu do kolekce Skripty ovládacího prvku ASP.NET SPRÁVCE skriptů AJAX. Příklad najdete ve službě AJAX pomocí http POST.

Viz také