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.
Los ejemplos de Windows Communication Foundation (WCF) se pueden compilar mediante el IDE de Visual Studio o el comando msbuild desde la línea de comandos. Ambos procedimientos se describen en este artículo.
Nota:
Antes de compilar o ejecutar cualquiera de los ejemplos de WCF, asegúrese de que ha realizado el procedimiento de instalación deOne-Time para los ejemplos de Windows Communication Foundation.
Para compilar el ejemplo mediante una línea de comandos
Abra el Símbolo del sistema para desarrolladores de Visual Studio y vaya al subdirectorio específico del idioma en la ubicación del directorio donde haya instalado el ejemplo.
Escriba
msbuild
en la línea de comandos. Los archivos de programa cliente se compilan en client\bin y los archivos de programa de servicio se compilan en service\bin. Si el servicio está hospedado por Internet Information Services (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 conceder permisos de modificación a la cuenta bajo la cual está ejecutando el programa. De lo contrario, se produce un error en algunos eventos posteriores a la compilación. Como alternativa, puede dejar las ACL tal como están y ejecutar la ventana de comandos del SDK como administrador.
Para compilar el ejemplo mediante Visual Studio
En el menú Archivo de Visual Studio, seleccione Abrir>proyecto o solución. Vaya al subdirectorio específico del lenguaje en el directorio en el que instaló el ejemplo y haga doble clic en el icono de archivo .sln para abrir la solución en Visual Studio.
En el menú Compilar , seleccione Recompilar solución.
Los archivos de programa cliente se compilan en client\bin y los archivos de programa de servicio se compilan en service\bin. Si el servicio se hospeda 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 produce un error en algunos 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 adjuntar un depurador al proceso de trabajo de ASP.NET) también requieren privilegios administrativos.
Archivos de instalación por lotes y scripts
Los archivos por lotes Setup.exe y Cleanup.exe y los scripts deben ejecutarse desde el Símbolo del sistema para desarrolladores de Visual Studio. Varios archivos de configuración y limpieza realizan tareas que requieren privilegios administrativos y deben iniciarse con privilegios de administrador.
Información de seguridad importante sobre los puntos de conexión de metadatos
Para evitar la divulgación involuntaria de metadatos de servicio potencialmente confidenciales, la configuración predeterminada para los servicios de Windows Communication Foundation (WCF) deshabilita la publicación de metadatos. Este comportamiento es seguro de forma predeterminada, pero también significa 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 esté habilitado explícitamente en la configuración. Para facilitar la experimentación con los ejemplos, casi todos los ejemplos exponen un punto de conexión de publicación de metadatos no seguros. Estos puntos de conexión pueden estar disponibles para consumidores anónimos no autenticados y se debe tener cuidado antes de implementar estos puntos de conexión para asegurarse de que la divulgación pública de los metadatos de un servicio sea adecuada. Para obtener más información sobre los metadatos del servicio de publicación, consulte el ejemplo Comportamiento de publicación de metadatos . Consulte el ejemplo de Punto de Conexión de Metadatos Seguros Personalizados para ver un ejemplo de cómo proteger un punto de conexión de metadatos.
Control de excepciones
Por lo 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 el control de excepciones, vea el ejemplo Excepciones esperadas .
Regeneración de clientes y configuración con Svcutil
Puede usar la herramienta de utilidad de metadatos serviceModel (Svcutil.exe) para regenerar el código de cliente y la configuración de la mayoría de los ejemplos. Algunos ejemplos requieren una configuración editada manualmente. Por ejemplo, si usa Svcutil.exe para regenerar la configuración de un ejemplo que usa credenciales de certificado de cliente, debe especificar manualmente las credenciales configuradas anteriormente. Algunos ejemplos usan opciones de Svcutil.exe específicas para afectar al código generado, estas opciones se especifican en los temas de ejemplo específicos.
Para volver a generar los archivos de cliente y configuración.
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, use el siguiente comando.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /out:generatedClient.cs
Si el servicio es de tipo autohospedado, escriba el siguiente comando.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.cs
Reemplace
http://localhost:8000/ServiceModelSamples/service.svc/mex
por la dirección del punto de conexión MEX del servicio autohospedado.Para generar el cliente en un tipo de Visual Basic, use el siguiente comando.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
Si el servicio es un tipo autohospedado, use el siguiente comando.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
Nota:
Para omitir la generación de la configuración de cliente, agregue la opción /noConfig .