Freigeben über


Vorgehensweise: Verwenden der Konfiguration zum Hinzufügen eines ASP.NET AJAX-Endpunkts

Mit Windows Communication Foundation (WCF) können Sie einen Dienst erstellen, der einen ASP.NET AJAX-aktivierten Endpunkt verfügbar macht, der auf einer Client-Website von JavaScript aufgerufen werden kann. Zum Erstellen eines solchen Endpunkts können Sie entweder (wie bei allen anderen Windows Communication Foundation (WCF)-Endpunkten) eine Konfigurationsdatei verwenden, oder Sie können eine Methode einsetzen, die keine Konfigurationselemente benötigt. In diesem Thema wird die Konfigurationsmethode veranschaulicht.

Der Teil der Prozedur, durch den der Dienstendpunkt ASP.NET AJAX-aktiviert wird, konfiguriert den Endpunkt für die Verwendung von WebHttpBinding und fügt das <enableWebScript>-Endpunktverhalten hinzu. Die Schritte zum Implementieren und Hosten des Diensts nach der Konfiguration des Endpunkts sind den Schritten ähnlich, die von jedem WCF-Dienst verwendet werden. Ein Arbeitsbeispiel finden Sie unter AJAX-Dienst mit HTTP POST.

Weitere Informationen über zum Konfigurieren eines ASP.NET AJAX-Endpunkts ohne Konfiguration finden Sie unter Vorgehensweise: Hinzufügen eines ASP.NET AJAX-Endpunkts ohne Verwendung einer Konfiguration.

So erstellen Sie einen WCF-Basisdienst

  1. Definieren Sie einen WCF-Basisdienstvertrag mit einer Schnittstelle, die mit dem ServiceContractAttribute-Attribut gekennzeichnet ist. Markieren Sie jeden Vorgang mit OperationContractAttribute. Stellen Sie sicher, dass Sie die Namespace-Eigenschaft festlegen.

    [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. Implementieren Sie den ICalculator-Dienstvertrag mit CalculatorService.

    public class CalculatorService : ICalculator
    {
        public double Add(double n1, double n2)
        {
            return n1 + n2;
        }
    
    //Other operations omitted…
    
  3. Definieren Sie einen Namespace für die ICalculator-Implementierung und die CalculatorService-Implementierung, indem Sie sie in einen Namespaceblock einschließen.

    Namespace Microsoft.Ajax.Samples
    {
        //Include the code for ICalculator and Caculator here.
    }
    

So erstellen Sie einen ASP.NET AJAX-Endpunkt für den Dienst

  1. Erstellen Sie eine Verhaltenskonfiguration, und geben Sie das <enableWebScript>-Verhalten für ASP.NET AJAX-aktivierte Endpunkte des Diensts an.

    <system.serviceModel>
        <behaviors>
            <endpointBehaviors>
                <behavior name="AspNetAjaxBehavior">
                    <enableWebScript />
                </behavior>
            </endpointBehaviors>
        </behaviors>
    </system.serviceModel>
    
  2. Erstellen Sie einen Endpunkt für den Dienst, der WebHttpBinding und das ASP.NET AJAX-Verhalten verwendet, das im vorherigen Schritt definiert wurde.

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

So hosten Sie den Dienst in IIS

  1. Um den Dienst in IIS zu hosten, erstellen Sie in der Anwendung eine neue Datei mit dem Namen service und einer SVC-Erweiterung. Bearbeiten Sie diese Datei, indem Sie die entsprechenden @ServiceHost-Direktiveninformationen für den Dienst hinzufügen. Die Dienstdatei für das CalculatorService-Beispiel enthält z. B. folgende Informationen.

    <%@ServiceHost 
    language=c# 
    Debug="true" 
    Service="Microsoft.Ajax.Samples.CalculatorService"
    %>
    
  2. Weitere Informationen über zum Hosting in IIS finden Sie unter Gewusst wie: Hosten eines WCF-Diensts in IIS.

So rufen Sie den Dienst auf

  1. Der Endpunkt ist für eine leere Adresse konfiguriert, die relativ zur SVC-Datei festgelegt ist. Daher ist der Dienst jetzt verfügbar und kann durch Senden von Anforderungen an "service.svc/<operation>" aufgerufen werden – beispielsweise durch "service.svc/Add" für den Add-Vorgang. Sie können ihn verwenden, indem Sie die Endpunkt-URL in die Scripts-Auflistung des ASP.NET AJAX Script Manager-Steuerelements eingeben. Ein Beispiel hierfür finden Sie unter AJAX-Dienst mit HTTP POST.

Siehe auch

Aufgaben

Vorgehensweise: Migrieren AJAX-aktivierter ASP.NET-Webdienste nach WCF

Konzepte

Erstellen von WCF-Diensten für ASP.NET AJAX