Generación de ejemplos de Windows Communication Foundation

Los ejemplos de Windows Communication Foundation (WCF) pueden generarse utilizando Visual Studio 2005 o utilizando el comando msbuild en la línea de comandos. Ambos procedimientos se describen en este tema.

Nota

Antes de generar o ejecutar cualquiera de los ejemplos de WCF, asegúrese de que ha realizado el Procedimiento de instalación único para ejemplos de Windows Communication Foundation.

Para generar el ejemplo desde un símbolo del sistema

  1. Abra el símbolo del sistema de SDK y desplácese hasta el subdirectorio específico del lenguaje bajo la ubicación del directorio donde instaló el ejemplo.

  2. Escriba msbuild en la línea de comandos. Los archivos del programa cliente se generan en client\bin y los archivos de programa de servicio se crean en service\bin. Si Internet Information Services (IIS) hospeda el servicio, los archivos de programa de servicio también se copian en el directorio ServiceModelSamples y su subdirectorio \bin.

Nota

Debe establecer las ACL en %systemdrive%\inetpub\wwwroot para otorgar permisos de modificación en la cuenta bajo la cual se está ejecutando. De lo contrario, se producirán errores en eventos posteriores a la creación. Como alternativa, puede dejar las ACL tal y como están y ejecutar el símbolo de sistema de SDK como administrador.

Para generar el ejemplo con Visual Studio

  1. Si está utilizando Windows Vista o Windows Server 2008, y ejecuta Visual Studio 2005, debe ejecutar Visual Studio con permiso elevado. Para ello, haga clic con el botón secundario en el menú Inicio y, a continuación, haga clic en Ejecutar como administrador.

  2. En el menú Archivo en Visual Studio, haga clic en Abrir y, a continuación, en Proyecto/Solución. Desplácese hasta el subdirectorio específico del idioma en el directorio donde instaló el ejemplo y haga doble clic en el icono del archivo .sln para abrir la solución en Visual Studio.

  3. En el menú Generar, seleccione Volver a generar solución. Los archivos del programa cliente se generan en client\bin y los archivos de programa de servicio se crean en service\bin. Si se hospeda el servicio en IIS, los archivos de programa de servicio también se copian en el directorio ServiceModelSamples y su subdirectorio \bin.

Nota

Debe establecer las ACL en %systemdrive%\inetpub\wwwroot para otorgar permisos de modificación en la cuenta bajo la cual se está ejecutando. De lo contrario, se producirán errores en eventos posteriores a la creación. De manera alternativa, puede dejar las ACL tal y como están y ejecutar el símbolo de sistema de SDK o Visual Studio como administrador. Algunas acciones de Visual Studio (como asociar un depurador al proceso de trabajo de ASP.NET) también requieren privilegios de administrador.

Archivos de instalación por lotes y scripts

Los archivos por lotes Setup.exe y Cleanup.exe y los scripts deberían ejecutarse desde el símbolo del sistema de SDK. Hay varios archivos de limpieza e instalación que realizan tareas que requieren privilegios de administrador y que deberían iniciarse con privilegios de administrador.

Información de seguridad importante sobre los extremos de metadatos

Para evitar la divulgación involuntaria de metadatos de servicio con información confidencial potencial, la configuración predeterminada para los servicios Windows Communication Foundation (WCF) deshabilita la publicación de metadatos. Este comportamiento es seguro de forma predeterminada, pero también quiere decir que no puede usar una herramienta de importación de metadatos (como Svcutil.exe) para generar el código de cliente necesario para llamar al servicio a menos que el comportamiento de publicación de metadatos del servicio se habilite de manera explícita en la configuración. Para que los experimentos con los ejemplos sean más sencillos, casi todos los ejemplos exponen un extremo de publicación de metadatos no seguro. Tales extremos están disponibles de manera potencial para consumidores anónimos no autenticados y se debe tener cuidado antes de implementar tales extremos para garantizar que la revelación pública de un metadato del servicio sea adecuada. Vea el ejemplo Comportamiento de publicación de metadatos para obtener detalles sobre la publicación de metadatos de servicio. Consulte el ejemplo Extremo personalizado de metadatos seguros para ver uno que garantiza un extremo de metadatos.

Control de excepciones

En general, estos ejemplos no incluyen el control de excepciones para mantener el código centrado en el asunto del ejemplo. Para ver los detalles acerca del control de excepciones, consulte el ejemplo Excepciones esperadas.

Regenerar clientes y configuración con Svcutil

Puede utilizar ServiceModel Metadata Utility Tool (Svcutil.exe) para regenerar el código y la configuración de cliente para la mayoría de los ejemplos. Algunos ejemplos requieren una configuración editada manualmente. Por ejemplo, si utiliza Svcutil.exe para regenerar la configuración para obtener un ejemplo que utiliza las credenciales del certificado de cliente, debe especificar manualmente las credenciales previamente configuradas. Algunos ejemplos utilizan las opciones Svcutil.exe concretas para afectar al código generado, estas opciones se especifican en los temas de ejemplo concretos.

Para regenerar los archivos de configuración y cliente

  1. Abra un símbolo del sistema de SDK y desplácese hasta el subdirectorio específico del idioma debajo de la ubicación del directorio donde haya instalado el ejemplo.

  2. Si el servicio es un tipo hospedado en web:

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost/servicemodelsamples/service.svc/mex /out:generatedClient.cs
    

    Si el servicio es un tipo autohospedado:

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.cs
    

    Y reemplaza https://localhost:8000/ServiceModelSamples/service.svc/mex con la dirección del extremo mex del servicio autohospedado.

    Para generar el cliente en un tipo de Visual Basic:

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
    

    Si el servicio es un tipo autohospedado:

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost:8000/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
    

    Nota

    Para omitir la generación de configuración del cliente, agregue la opción /noConfig.

Consulte también

Conceptos

Ejecución de ejemplos de Windows Communication Foundation

Otros recursos

ServiceModel Metadata Utility Tool (Svcutil.exe)

Footer image

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.