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.
Este ejemplo muestra cómo extender el modelo de programación REST de WCF para admitir los nuevos formatos de solicitudes entrantes. El ejemplo también incluye una implementación de un formateador que puede deserializar una solicitud de un envío de formulario HTML en un tipo .NET Framework. Además, el ejemplo utiliza una plantilla T4 para devolver una página HTML, que proporciona el formulario HTML que los usuarios pueden devolver al servicio REST de WCF.
Demostraciones
Ampliar la compatibilidad con los formatos de solicitudes entrantes.
Integrar plantillas T4.
Análisis
Este ejemplo consta de dos proyectos. Un proyecto es la biblioteca HtmlFormProcessing que incluye un formateador de solicitudes personalizado que puede deserializar los envíos de formularios HTML en tipos .NET Framework. El segundo proyecto es una aplicación de consola que extiende el ejemplo de servicio de recurso básico para utilizar el formateador de solicitudes personalizado de la biblioteca HtmlFormProcessing.
El formateador personalizado que puede deserializar los envíos de formularios HTML (HtmlFormRequestDispatchFormatter) acepta ambos tipos .NET Framework que se pueden convertir a partir de una cadena utilizando el QueryStringConverter y los tipos marcados con DataContractAttribute que solo tienen miembros que se pueden convertir a partir de una cadena utilizando QueryStringConverter.
El proyecto de biblioteca HtmlFormProcessing también incluye una clase base abstracta, RequestBodyDispatchFormatter
, que se puede utilizar para crear otros formateadores de solicitud personalizados. Derivar de RequestBodyDispatchFormatter
permite a un desarrollador de software centrarse en la lógica de deserialización de cuerpo de solicitud, que permite a la clase base asignar los parámetros de plantilla de URI a los parámetros de método de la operación. En el proyecto de biblioteca HtmlFormProcessing también está la clase HtmlFormProcessingBehavior
, que muestra cómo derivar de WebHttpBehavior para reemplazar el formateador de solicitudes predeterminado con un formateador de solicitudes personalizado.
Este proyecto de aplicación de consola extiende el ejemplo de Servicio de recurso básico. El ejemplo de servicio de recurso básico muestra cómo exponer un recurso de manera que use el modelo de programación REST de WCF. En el ejemplo de servicio de recurso básico, un recurso de colección de cliente se expone de forma que se puedan crear, recuperar, actualizar y eliminar los clientes de la colección. El ejemplo de servicio de recurso básico solo utiliza los dos los formatos de solicitud entrante admitidos: XML y JSON.
La aplicación de consola de este ejemplo de envío de formulario utiliza el formateador personalizado de la biblioteca de HtmlFormProcessing, que les permite a los usuarios crear clientes enviando un envío de formulario HTML mediante un explorador. También agrega una operación que devuelve una página HTML, que incluye el formulario que se va a devolver al servicio. Esta página HTML se genera utilizando una plantilla T4 preprocesada, que está compuesta de un archivo .tt y de un archivo .cs generado automáticamente. El archivo .tt permite que los desarrolladores de software escriban una respuesta en un formulario de plantilla que contenga variables y estructuras de control. Para obtener más información sobre T4, vea Generar artefactos con plantillas de texto.
Para ejecutar el ejemplo
Abra la solución para obtener el ejemplo de envío de formulario. Al iniciar Visual Studio 2010, debe ejecutarlo como administrador para ejecutar el ejemplo correctamente. Para ello, haga clic con el botón secundario en el icono de Visual Studio 2010 y elija Ejecutar como administrador en el menú contextual.
Presione F6 para compilar la solución y, a continuación, presione CTRL+F5 para ejecutar el proyecto FormPost de la aplicación.
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.
A medida que el ejemplo se ejecuta, el cliente escribe el estado de la actividad actual, si va a agregar, actualizar o eliminar un cliente, o recibir una lista de los clientes actuales del servicio a la ventana de la consola.
Le solicitan a continuación que vaya al URI del formulario de cliente. Abra un explorador y busque el URI dado. Escriba un nombre y dirección para el cliente y haga clic en el botón Enviar.
Presione cualquier tecla para que la ventana de la consola siga ejecutando el ejemplo.
Cuando el ejemplo se complete, observe que el cliente que creó utilizando el explorador se incluye en la lista final de clientes.
Presione cualquier tecla para terminar el ejemplo.
![]() |
---|
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 Windows Communication Foundation (WCF) y WF. Este ejemplo se encuentra en el siguiente directorio.
<InstallDrive>:\WF_WCF_Samples\WCF\Extensibility\Web\FormPost
|