Compartir a través de


Uso de la configuración para agregar un extremo AJAX de ASP.NET

Windows Communication Foundation (WCF) le permite crear un servicio que expone un extremo de ASP.NET con AJAX habilitado al que se puede llamar desde JavaScript de un sitio web del cliente. Para crear este tipo de extremo, puede usar un archivo de configuración, como con el resto de extremos 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 extremo de servicio convertirse en un extremo de ASP.NET con AJAX habilitado consiste en configurar el extremo para que utilice el WebHttpBinding y agregue el comportamiento de extremo <enableWebScript>. Después de configurar el extremo, los pasos para implementar y hospedar el servicio son similares a aquellos utilizados por cualquier servicio de WCF. Para ver un ejemplo ilustrativo, consulte AJAX Service Using HTTP POST sample.

Para obtener más información acerca de configuración de un extremo de AJAX de ASP.NET sin utilizar la configuración, vea Cómo agregar un extremo AJAX de ASP.NET sin usar la configuración.

Para crear un servicio WCF básico

  1. Defina un contrato de servicios de 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…
    
    }
    
  2. Implemente el contrato de servicios ICalculator con un CalculatorService.

    public class CalculatorService : ICalculator
    {
        public double Add(double n1, double n2)
        {
            return n1 + n2;
        }
    
    //Other operations omitted…
    
  3. Defina un espacio de nombres para las implementaciones de CalculatorService e ICalculator ajustándolas en un bloque de espacios de nombres.

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

Creación de un extremo de AJAX de ASP.NET para el servicio.

  1. Cree una configuración de comportamiento y especifique el comportamiento <enableWebScript> para los extremos del servicio ASP.NET con AJAX habilitado.

    <system.serviceModel>
        <behaviors>
            <endpointBehaviors>
                <behavior name="AspNetAjaxBehavior">
                    <enableWebScript />
                </behavior>
            </endpointBehaviors>
        </behaviors>
    </system.serviceModel>
    
  2. Cree un extremo 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

  1. 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 apropiada 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"
    %>
    
  2. Para obtener más información acerca de hospedaje en IIS, vea Procedimiento para hospedar un servicio WCF en IIS.

Realización de llamadas al servicio

  1. El extremo se configura en una dirección vacía relativa al archivo .svc, por lo que el servicio ahora está disponible y se puede invoca enviando solicitudes a service.svc/<operation>; por ejemplo, service.svc/Add para la operación Add. Puede utilizarlo introduciendo la URL del extremo en la colección Scripts del control del administrador de scripts de AJAX de ASP.NET. Para obtener un ejemplo, vea AJAX Service Using HTTP POST sample.

Consulte también

Tareas

Cómo migrar servicios web de ASP.NET con AJAX habilitado a WCF

Conceptos

Creación de servicios WCF para AJAX de ASP.NET