Solución de problemas con el tutorial de introducción
En este tema se enumeran los problemas más comunes que se producen al desarrollar el Tutorial de introducción y se explica cómo resolverlos.
Los archivos del proyecto no se encuentran en el disco duro.
Se intentó ejecutar la aplicación de servicio: HTTP no pudo registrar la dirección URL http://+:8000/ServiceModelSamples/Service/. Su proceso no tiene los derechos de acceso a este espacio de nombres.
Se intentó usar la herramienta Svcutil.exe: 'svcutil' no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.
No se encuentra el archivo App.config generado por Svcutil.exe.
Compilación de la aplicación cliente: 'CalculatorClient' no contiene una definición de '<nombre de método>' ni se encontró ningún método de extensión '<nombre de método>' que acepte un primer argumento de tipo 'CalculatorClient' (¿falta una directiva using o una referencia de ensamblado?)
Compilación de la aplicación cliente: no se puede encontrar el tipo o el nombre de espacio de nombres 'CalculatorClient' (¿falta una directiva using o una referencia de ensamblado?)
Ejecución del cliente: excepción no controlada: System.ServiceModel.EndpointNotFoundException: no se puede establecer conexión con https://localhost:8000/ServiceModelSamples/Service/CalculatorService. Código de error TCP 10061: no se estableció ninguna conexión porque el equipo de destino la rechazó.
Los archivos del proyecto no se encuentran en el disco duro.
Visual Studio guarda los archivos de proyecto en c:\users\<nombre de usuario\Documents\Visual Studio 2010\Projects en Windows Vista y en Windows°7, y en c:\Documents and Settings\<nombre de usuario>\My Documents\Visual Studio 2010\Projects en versiones anteriores de Windows.
Se intentó ejecutar la aplicación de servicio: HTTP no pudo registrar la dirección URL http://+:8000/ServiceModelSamples/Service/. Su proceso no tiene los derechos de acceso a este espacio de nombres.
El proceso que hospeda un servicio WCF se debe ejecutar con privilegios administrativos. Si está ejecutando el servicio desde Visual Studio 2010, debe ejecutar Visual Studio 2010 como administrador. Para ello, haga clic en Inicio, haga clic con el botón secundario en Visual Studio 2010 y seleccione Ejecutar como administrador. Si está ejecutando el servicio desde el símbolo del sistema, debe iniciar el símbolo del sistema como administrador de una forma similar. Haga clic en Inicio, haga clic con el botón secundario en Símbolo del sistema y seleccione Ejecutar como administrador.
Se intentó usar la herramienta Svcutil.exe: 'svcutil' no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.
Svcutil.exe debe estar en la ruta de acceso del sistema. La solución más fácil es usar el símbolo del sistema. Haga clic en Inicio, seleccione Todos los programas, Visual Studio 2010, Visual Studio Tools y, a continuación, Símbolo del sistema de Visual Studio 2010. Este símbolo del sistema establece la ruta de acceso del sistema en las ubicaciones correctas para todas las herramientas distribuidas como parte de Visual Studio 2010.
No se encuentra el archivo App.config generado por Svcutil.exe.
El cuadro de diálogo Agregar elemento existente sólo muestra de forma predeterminada los archivos con las extensiones siguientes: .cs, .resx, .settings, .xsd, .wsdl. Puede especificar que desea ver todos los tipos de archivos seleccionando Todos los archivos (*.*) en el cuadro de lista desplegable situado en la esquina inferior derecha del cuadro de diálogo Agregar elemento existente.
Compilación de la aplicación cliente: 'CalculatorClient' no contiene una definición de '<nombre de método>' ni se encontró ningún método de extensión '<nombre de método>' que acepte un primer argumento de tipo 'CalculatorClient' (¿falta una directiva using o una referencia de ensamblado?)
Sólo los métodos que se marcan con ServiceOperationAttribute se exponen al exterior. Si omitió el atributo ServiceOperationAttribute en uno de los métodos de la interfaz ICalculator, aparece este mensaje de error al compilar una aplicación cliente que realice una llamada a la operación que no tiene el atributo.
Compilación de la aplicación cliente: no se puede encontrar el tipo o el nombre de espacio de nombres 'CalculatorClient' (¿falta una directiva using o una referencia de ensamblado?)
Este error se produce si no se agrega el archivo Proxy.cs o Proxy.vb a su proyecto de cliente.
Ejecución del cliente: excepción no controlada: System.ServiceModel.EndpointNotFoundException: no se puede establecer conexión con https://localhost:8000/ServiceModelSamples/Service/CalculatorService. Código de error TCP 10061: no se estableció ninguna conexión porque el equipo de destino la rechazó.
Este error se produce si se ejecuta la aplicación cliente sin ejecutar el servicio.
Excepción no controlada: System.ServiceModel.Security.SecurityNegotiationException: error de negociación de seguridad SOAP con 'https://localhost:8000/ServiceModelSamples/Service/CalculatorService' para el destino 'https://localhost:8000/ServiceModelSamples/Service/CalculatorService'
Este error se produce en un equipo unido a un dominio que no dispone de conectividad de red. Conecte el equipo a la red o desactive la seguridad para el cliente y el servicio. En el servicio, modifique el código que crea el WSHttpBinding de la manera siguiente.
// Step 3 of the hosting procedure: Add a service endpoint
selfhost.AddServiceEndpoint(typeof(ICalculator), new WSHttpBinding(SecurityMode.None), "CalculatorService");
En el cliente, cambie el elemento <security> debajo del elemento <binding> de la manera siguiente:
<security mode="Node" />
Vea también
Conceptos
Inicio rápido de solución de problemas de WCF
Solución de problemas de instalación