Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En el Ejemplo BasicHttpService se muestra cómo implementar un servicio basado en HTTP y en RPC, conocido popularmente como servicio "POX" (Plain Old XML), usando el modelo de programación REST de Windows Communication Foundation (WCF). Este ejemplo consta de dos componentes: un servicio HTTP de WCF autohospedado (Service.cs) y una aplicación de consola (Program.cs) que crea el servicio y realiza llamadas a él.
Detalles del ejemplo
El servicio WCF expone 2 operaciones, EchoWithGet y EchoWithPost, que devuelven una cadena que se pasó como entrada.
La EchoWithGet operación se anota con WebGetAttribute, que indica que la operación procesa solicitudes HTTP GET . Dado que el WebGetAttribute no especifica explícitamente un UriTemplate, la operación espera que la cadena de entrada se pase mediante un parámetro de cadena de consulta con el nombre s. Tenga en cuenta que el formato del URI que espera el servicio se puede personalizar mediante la UriTemplate propiedad .
La EchoWithPost operación se anota con WebInvokeAttribute, lo que indica que no es una GET operación (tiene efectos secundarios). Dado que el WebInvokeAttribute no especifica explícitamente un Method, la operación procesa las solicitudes HTTP POST que tienen la cadena en el cuerpo de la solicitud (en formato XML, por ejemplo). Tenga en cuenta que el método HTTP y el formato del URI de la solicitud se pueden personalizar mediante las Method propiedades y UriTemplate respectivamente.
El archivo App.config configura el servicio WCF con un valor predeterminado WebHttpEndpoint, y la propiedad HelpEnabled se establece en true. Como resultado, la infraestructura de WCF crea una página de ayuda automática basada en HTML en http://localhost:8000/Customers/help que proporciona información sobre cómo construir solicitudes HTTP al servicio y cómo consumir la respuesta HTTP del servicio.
Program.cs muestra cómo se puede usar un generador de canales WCF para realizar llamadas al servicio y procesar respuestas. Observe que se trata simplemente de una manera de tener acceso a un servicio de WCF. También es posible acceder al servicio mediante otras clases de .NET Framework como HttpWebRequest y WebClient.
El ejemplo consta de un servicio autohospedado y un cliente que se ejecutan en 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 a la ventana de la consola.
Para utilizar este ejemplo
Abra la solución para el ejemplo de servicio HTTP básico. Al iniciar Visual Studio 2012, debe ejecutarse como administrador para que el ejemplo se ejecute correctamente. Para ello, haga clic con el botón derecho en el icono de Visual Studio y seleccione Ejecutar como administrador en el menú contextual.
Presione Ctrl+Mayús+B para compilar la solución y presione Ctrl+F5 para ejecutar la aplicación de consola sin depurar. Aparece la ventana de consola y proporciona el URI del servicio en ejecución y el URI de la página de ayuda HTML para el servicio en ejecución. 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.
Presione cualquier tecla para finalizar el ejemplo.