Compilación de los ejemplos de Windows Communication Foundation
Los ejemplos de Windows Communication Foundation (WCF) pueden compilarse utilizando Visual Studio 2010 o utilizando el comando msbuild en la línea de comandos. Ambos procedimientos se describen en este tema.
Nota: |
---|
Antes de compilar o ejecutar cualquiera de los ejemplos de WCF, asegúrese de que ha realizado el procedimiento de Procedimiento de instalación única para los ejemplos de Windows Communication Foundation. |
Para compilar el ejemplo desde un símbolo del sistema
Abra el símbolo del sistema de Visual Studio 2010 con privilegios de administrador y navegue hasta el subdirectorio específico del lenguaje bajo el directorio donde instaló el ejemplo.
Escriba msbuild en la línea de comandos. Los archivos de programa del cliente se compilan en client\bin y los archivos de programa del servicio se compilan en service\bin. Si Internet Information Services (IIS) hospeda el servicio, los archivos de programa del 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 compilación. Como alternativa, puede dejar las ACL tal como están y ejecutar el símbolo del sistema del SDK como administrador. |
Para compilar el ejemplo con Visual Studio
Si está utilizando Windows Vista, Windows Server 2008, Windows 7 o Windows Server 2008 R2 y ejecuta Visual Studio 2010, debe ejecutar Visual Studio con permisos elevados. Para ello, haga clic con el botón secundario en el menú Inicio y, a continuación, haga clic en Ejecutar como administrador.
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.
En el menú Generar, seleccione Volver a generar solución. Los archivos del programa cliente se compilan en client\bin y los archivos de programa de servicio se compilan 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 compilació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 un símbolo del sistema de Visual Studio. Hay varios archivos de limpieza e instalación que realizan tareas que requieren privilegios administrativos y 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 es adecuada. Para obtener más información sobre la publicación de metadatos de servicio, vea el ejemplo Comportamiento de publicación de metadatos. 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 obtener más información sobre cómo controlar excepciones, vea el ejemplo Excepciones esperadas.
Regenerar clientes y configuración con Svcutil
Puede utilizar Herramienta de utilidad de metadatos de ServiceModel (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
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.
Si el servicio es un tipo hospedado en web, utilice el comando siguiente.
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 utilice el comando siguiente.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.cs
Reemplace 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, utilice el siguiente comando.
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 utilice el comando siguiente.
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.
Vea también
Conceptos
Running the Windows Communication Foundation Samples
Herramienta de utilidad de metadatos de ServiceModel (Svcutil.exe)