Servicio HTTP básico

En este ejemplo se muestra cómo implementar un servicio basado en HTTP y en RPC, al que se suele hacer referencia como servicio "POX" (Plain Old XML o de XML antiguo y sin formato)", utilizando el modelo de programación REST de Windows Communication Foundation (WCF). Este ejemplo consta de dos componentes: un servicio HTTP WCF autohospedado (Service.cs) y una aplicación de consola (Program.cs) que crea el servicio y le llama.

Detalles del ejemplo

El servicio de WCF expone dos operaciones, EchoWithGet y EchoWithPost, que devuelven la cadena que se les pasa como entrada.

La operación EchoWithGet se anota con WebGetAttribute, que indica que la operación procesa las solicitudes GET de HTTP. Dado que el WebGetAttribute no especifica un objeto UriTemplate explícitamente, la operación espera a que se pase la cadena de entrada con un parámetro de cadena de consulta con el nombre s. Observe que el formato del URI que el servicio espera se puede personalizar utilizando la propiedad UriTemplate.

La operación EchoWithPost se anota con WebInvokeAttribute, que indica que no es una operación GET (tiene efectos secundarios). Dado que el WebInvokeAttribute no especifica un Method explícitamente, la operación procesa las solicitudes POST de HTTP que tienen la cadena en el cuerpo de la solicitud (en el formato XML, por ejemplo). Observe que el método HTTP y el formato del URI para la solicitud se pueden personalizar utilizando las propiedades UriTemplate y Method, respectivamente.

El archivo App.config configura el servicio WCF con un WebHttpEndpoint predeterminado que tiene la propiedad HelpEnabled establecida en true. Como resultado, la infraestructura de WCF crea una página de Ayuda automática y basada en HTML en https://localhost:8000/Customers/help que proporciona información acerca de cómo construir las solicitudes HTTP para el servicio y cómo utilizar la respuesta HTTP del servicio.

El archivo Program.cs muestra el modo en que se puede usar un generador de canales de WCF para realizar llamadas a las respuestas de proceso y servicio. Observe que se trata simplemente de una manera de tener acceso a un servicio de WCF. También es posible tener acceso al servicio utilizando otras clases de .NET Framework como HttpWebRequest y WebClient. Otros ejemplos del SDK (como Selección de formato automática y Servicio de recurso básico) muestran cómo utilizar estas clases para comunicarse con un servicio de WCF.

El ejemplo consta de un servicio autohospedado y un cliente que se ejecutan ambos dentro de una aplicación de consola. A medida que se ejecuta la aplicación de consola, el cliente realiza solicitudes al servicio y escribe la información pertinente de las respuestas en la ventana de la consola.

Para utilizar este ejemplo

  1. Abra la solución del ejemplo de servicio HTTP básico. Al iniciar Visual Studio 2010, debe ejecutarlo como administrador para que el ejemplo se ejecute correctamente. Para ello, haga clic con el botón secundario en el icono de Visual Studio 2010 y seleccione Ejecutar como administrador en el menú contextual.

  2. Presione F6 para compilar la solución y, a continuación, presione Ctrl+F5 para ejecutar la aplicación de consola sin depurar. La ventana de la consola aparece y proporciona el URI del servicio en ejecución y el URI de la página de Ayuda HTML para este. Puede ver la página de Ayuda HTML en cualquier momento escribiendo su URI en un explorador. A medida que el ejemplo se ejecuta, el cliente escribe el estado de la actividad actual.

  3. Presione cualquier tecla para terminar el ejemplo.

Ee662953.Important(es-es,VS.100).gif Nota:
Puede que los ejemplos ya estén instalados en su equipo. Compruebe el siguiente directorio (valor predeterminado) antes de continuar.

<InstallDrive>:\WF_WCF_Samples

Si no existe este directorio, vaya a la página de ejemplos de Windows Communication Foundation (WCF) y Windows Workflow Foundation (WF) Samples para .NET Framework 4 para descargar todos los ejemplos de WF y Windows Communication Foundation (WCF). Este ejemplo se encuentra en el siguiente directorio.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Web\BasicHttpService

Vea también

Tareas

Selección de formato automática
Servicio de recurso básico