Compartir a través de


Limitaciones de la depuración de WCF

Este tema se aplica a:

Edición

Visual Basic

C#

F#

C++

Web Developer

Express

El tema no es aplicable El tema no es aplicable El tema no es aplicable El tema no es aplicable El tema es aplicable

Pro, Premium y Ultimate

El tema es aplicable El tema es aplicable El tema no es aplicable El tema no es aplicable El tema es aplicable

Hay tres maneras con las que puede empezar a depurar un servicio WCF:

  • Está depurando un proceso de cliente que llama a un servicio. El depurador entra en el servicio. El servicio no tiene que estar en la misma solución que la aplicación cliente.

  • Está depurando un proceso de cliente que realiza una solicitud a un servicio. El servicio debe formar parte de la solución.

  • Utiliza Asociar al proceso para asociarse a un servicio que se está ejecutando actualmente. La depuración comienza dentro del servicio.

En este tema se describen las limitaciones de estos escenarios.

Limitaciones de entrar en un servicio

Para entrar en un servicio desde una aplicación cliente que está depurando, se deben cumplir las siguientes condiciones:

  • El cliente debe llamar al servicio utilizando un objeto de cliente sincrónico.

  • La operación del contrato no puede ser unidireccional.

  • Si el servidor es asincrónico, no se puede ver la pila de llamadas completa mientras se esté ejecutando el código dentro del servicio.

  • La depuración debe estar habilitada con el siguiente código en el archivo app.config o Web.config:

    <system.web>
      <compilation debug="true" />
    </system.web>
    

    Este código sólo se tiene que agregar una vez. Puede agregar este código modificando el archivo .config o asociándose al servicio mediante Asociar al proceso. Al utilizar Asociar al proceso en un servicio, el código de depuración se agrega automáticamente al archivo .config. Después de esto, puede entrar en el servicio y depurarlo sin tener que modificar el archivo .config.

Limitaciones de salir de un servicio

Salir de un servicio y regresar al cliente tiene las mismas limitaciones que se describieron para entrar en un servicio. Además, el depurador debe estar asociado al cliente. Si está depurando un cliente y entra en un servicio, el depurador seguirá asociado al servicio. Esto es cierto si inició el cliente utilizando Iniciar depuración o se asoció al cliente utilizando Asociar al proceso. Si empieza a depurar asociándose al servicio, el depurador no estará asociado aún al cliente. En tal caso, si tiene que salir del servicio y regresar al cliente, deberá utilizar primero Asociar al proceso para asociarse manualmente al cliente.

Limitaciones de la asociación automática a un servicio

Asociarse automáticamente a un servicio tiene las siguientes limitaciones:

  • El servicio debe formar parte de la solución de Visual Studio que está depurando.

  • Se debe hospedar al servicio. Puede formar parte de un proyecto de sitio web (sistema de archivos y HTTP), proyecto de aplicación web (sistema de archivos y HTTP) o proyecto de biblioteca de servicio WCF. Los proyectos de biblioteca de servicio WCF pueden ser bibliotecas de servicio o bibliotecas de servicio de flujo de trabajo.

  • Este servicio se debe invocar desde un cliente WCF

  • La depuración debe estar habilitada con el siguiente código en el archivo app.config o Web.config:

    <system.web>
      <compilation debug="true" />
    <system.web>
    

Autohospedaje

Un servicio que se hospeda a sí mismo es un servicio WCF que no se ejecuta dentro de IIS, el host de servicio WCF o el servidor de desarrollo de ASP.NET. Para obtener información sobre cómo depurar un servicio que se hospeda a sí mismo, vea Cómo: Depurar un servicio WCF independiente.

Autohospedaje

Para permitir la depuración de aplicaciones de ASP.NET 3.0 o 3.5, se debe instalar ASP.NET 3.0 o 3.5 antes de instalar Visual Studio 2010. Si Visual Studio 2010 se instala antes de ASP.NET 3.0 ó 3.5, se produce un error al intentar depurar una aplicación de ASP.NET 3.0 ó 3.5. El mensaje de error es, "No se puede ir al servidor automáticamente". Utilice el Panel de control de Windows, Programas y características, para corregir este problema y reparar la instalación de Visual Studio 2010.

Vea también

Tareas

Cómo: Depurar un servicio WCF independiente

Otros recursos

Depurar servicios WCF