Procedimiento para usar la configuración para agregar un punto de conexión AJAX de ASP.NET
Windows Communication Foundation (WCF) le permite crear un servicio que hace que un punto de conexión de ASP.NET con AJAX habilitado esté disponible y al que se puede llamar desde JavaScript de un sitio web del cliente. Para crear este tipo de punto de conexión, puede usar un archivo de configuración, como con todos los otros puntos de conexión de Windows Communication Foundation (WCF), o utilizar un método que no requiera ningún elemento de configuración. En este tema se muestra el enfoque de configuración.
La parte del procedimiento que permite al punto de conexión de servicio convertirse en un punto de conexión de ASP.NET con AJAX habilitado consiste en configurar el punto de conexión para que utilice el WebHttpBinding y agregue el comportamiento de punto de conexión <enableWebScript>. Después de configurar el punto de conexión, los pasos para implementar y hospedar el servicio son similares a aquellos utilizados por cualquier servicio WCF. Para obtener un ejemplo de trabajo, consulte el servicio AJAX mediante HTTP POST.
Para obtener más información sobre cómo configurar un punto de conexión AJAX de ASP.NET sin usar la configuración, consulte Procedimiento para agregar un punto de conexión AJAX de ASP.NET sin usar la configuración.
Para crear un servicio WCF básico
Defina un contrato de servicio WCF básico con una interfaz marcada con el atributo ServiceContractAttribute. Marque cada operación con el OperationContractAttribute. Asegúrese de establecer la propiedad 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… }
Implemente el contrato de servicios
ICalculator
con unCalculatorService
.public class CalculatorService : ICalculator { public double Add(double n1, double n2) { return n1 + n2; } // Other operations omitted… }
Defina un espacio de nombres para las implementaciones de
ICalculator
eCalculatorService
ajustándolas en un bloque de espacios de nombres.namespace Microsoft.Ajax.Samples { //Include the code for ICalculator and Calculator here. }
Creación de un punto de conexión de AJAX de ASP.NET para el servicio.
Cree una configuración de comportamiento y especifique el comportamiento <enableWebScript> para los puntos de conexión del servicio de ASP.NET con AJAX habilitado.
<system.serviceModel> <behaviors> <endpointBehaviors> <behavior name="AspNetAjaxBehavior"> <enableWebScript /> </behavior> </endpointBehaviors> </behaviors> </system.serviceModel>
Cree un punto de conexión para el servicio que utilice el WebHttpBinding y el comportamiento de AJAX de ASP.NET definido en el paso anterior.
<system.serviceModel> <services> <service name="Microsoft.Ajax.Samples.CalculatorService"> <endpoint address="" behaviorConfiguration="AspNetAjaxBehavior" binding="webHttpBinding" contract="Microsoft.Ajax.Samples.ICalculator" /> </service> </services> </system.serviceModel>
Hospedaje del servicio en IIS
Para hospedar el servicio en IIS, cree un nuevo archivo denominado service con extensión .svc en la aplicación. Modifique este archivo agregando la información de directiva @ServiceHost adecuada para el servicio. Por ejemplo, el contenido del archivo de servicio para el ejemplo de
CalculatorService
contiene la siguiente información:<%@ServiceHost language=c# Debug="true" Service="Microsoft.Ajax.Samples.CalculatorService" %>
Para obtener más información sobre el hospedaje en IIS, consulte Procedimiento para hospedar un servicio WCF en IIS.
Realización de llamadas al servicio
- El punto de conexión se configura en una dirección vacía relativa al archivo .svc, por lo que el servicio ahora está disponible y se puede invocar enviando solicitudes a service.svc/<operation>; por ejemplo, service.svc/Add para la operación
Add
. Puede utilizarlo introduciendo la URL del punto de conexión en la colección Scripts del control del administrador de scripts de AJAX de ASP.NET. Para obtener un ejemplo, consulte el servicio AJAX mediante HTTP POST.