Procedura: aggiungere un endpoint ASP.NET AJAX con l'utilizzo della configurazione
Windows Communication Foundation (WCF) consente di creare un servizio che rende disponibile un endpoint ASP.NET compatibile con AJAX che può essere chiamato da JavaScript su un sito Web client. Per creare tale endpoint è possibile utilizzare un file di configurazione, come con tutti gli altri endpoint Windows Communication Foundation (WCF), o un metodo che non richiede elementi di configurazione. In questo argomento viene illustrato l'approccio tramite configurazione.
La parte della procedura che consente all'endpoint del servizio di divenire compatibile ASP.NET AJAX è costituita dalla configurazione dell'endpoint affinché utilizzi WebHttpBinding e dall'aggiunta del comportamento dell'endpoint <enableWebScript>. Dopo avere configurato l'endpoint, i passaggi per implementare e ospitare il servizio sono simili a quelli utilizzati da qualsiasi servizio WCF. Per un esempio funzionante, vedere AJAX Service Using HTTP POST sample.
Per ulteriori informazioni su come configurare un endpoint ASP.NET AJAX senza utilizzare la configurazione, vedere Procedura: aggiungere un endpoint ASP.NET AJAX senza utilizzare la configurazione.
Per creare un servizio WFC di base
Definire un contratto di servizio WCF di base con un'interfaccia contrassegnata con l'attributo ServiceContractAttribute. Contrassegnare ogni operazione con OperationContractAttribute. Assicurarsi di impostare la proprietà 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… }
Implementare il contratto di servizio
ICalculator
conCalculatorService
.public class CalculatorService : ICalculator { public double Add(double n1, double n2) { return n1 + n2; } //Other operations omitted…
Definire uno spazio dei nomi per le implementazioni
ICalculator
eCalculatorService
eseguendo il wrapping di queste ultime in un blocco dello spazio dei nomi.Namespace Microsoft.Ajax.Samples { //Include the code for ICalculator and Caculator here. }
Per creare endpoint ASP.NET AJAX per il servizio.
Creare una configurazione di comportamento e specificare il comportamento <enableWebScript> per endpoint del servizio compatibili ASP.NET AJAX.
<system.serviceModel> <behaviors> <endpointBehaviors> <behavior name="AspNetAjaxBehavior"> <enableWebScript /> </behavior> </endpointBehaviors> </behaviors> </system.serviceModel>
Creare un endpoint per il servizio che utilizza WebHttpBinding e il comportamento ASP.NET AJAX definito nel passaggio precedente.
<system.serviceModel> <services> <service name="Microsoft.Ajax.Samples.CalculatorService"> <endpoint address="" behaviorConfiguration="AspNetAjaxBehavior" binding="webHttpBinding" contract="Microsoft.Ajax.Samples.ICalculator" /> </service> </services> </system.serviceModel>
Per ospitare il servizio in IIS
Per ospitare il servizio in IIS, creare nell'applicazione un nuovo file denominato "service" con estensione svc. Modificare questo file aggiungendo le informazioni della direttiva @ServiceHost appropriate per il servizio. Ad esempio, il file del servizio per l'esempio
CalculatorService
contiene le informazioni seguenti:<%@ServiceHost language=c# Debug="true" Service="Microsoft.Ajax.Samples.CalculatorService" %>
Per ulteriori informazioni su come ospitare servizi in IIS, vedere Procedura: ospitare un servizio WCF in IIS.
Per chiamare il servizio
- L'endpoint è configurato in un indirizzo vuoto relativo al file con estensione svc, pertanto il servizio è ora disponibile e può essere richiamato inviando richieste a service.svc/<operazione>; ad esempio, service.svc/Add per l'operazione
Add
. È possibile utilizzarlo immettendo l'URL dell'endpoint nell'insieme degli script del controllo Script Manager ASP.NET AJAX. Per un esempio, vedere AJAX Service Using HTTP POST sample.
Vedere anche
Attività
Procedura: eseguire la migrazione di servizi Web ASP.NET compatibili AJAX a WCF