Tengo muchos servicios web ejecutándose en mi proyecto, pero algo extraño ha estado ocurriendo durante bastante tiempo. Mis servicios se cuelgan ocasionalmente sin motivo alguno con un mensaje de error "El objeto de comunicación, System.ServiceModel.Channels.ServiceChannel, no se puede utilizar para la comunicación porque está en estado Faulted". Esto generalmente ocurre cuando ejecuto la aplicación a primera hora de la mañana, después de lo cual ocurren con menos frecuencia. ¿Alguna idea sobre qué podría estar causando este error?WCF at Services estado fallido
Respuesta
Esto suena como un tiempo de espera combinado con no manejar los servicios defectuosos.
Tarda más en ejecutarse por la mañana ya que el código debe compilarse JIT, tal vez también la base de datos necesita almacenar en caché los datos y los planes de consulta.
Aquí es una manera de conseguir que el cliente WCF para limpiar después de sí mismo http://nimtug.org/blogs/damien-mcgivern/archive/2009/05/26/wcf-communicationobjectfaultedexception-quot-cannot-be-used-for-communication-because-it-is-in-the-faulted-state-quot-messagesecurityexception-quot-an-error-occurred-when-verifying-security-for-the-message-quot.aspx
pero no estoy usando "usar "bloques. – Farax
Todavía tiene que cerrar el servicio después de haberlo usado, y debe cancelar el servicio si está en estado de error –
De hecho, después de quitar mi bloque de USO pude ver el error real. 10x –
Si un servicio WCF lanza una FaultException
, el cliente tendrá su estado cambia a CommunicationState.Faulted
. Si a continuación, intenta utilizar este objeto cliente para llamar a otra operación de servicio, obtendrá el error
"El objeto de comunicación, System.ServiceModel.Channels.ServiceChannel, no se puede utilizar para la comunicación, ya que está en estado de Falla ".
También puede obtener este error si intenta llamar al método Close()
en un cliente con errores, no lo recuerdo.
Puede verificar el estado de su objeto cliente marcando la propiedad State
. Si desea cerrar su cliente correctamente (lo cual debería estar haciendo), debe llamar al método Abort()
si el cliente está en el estado Faulted
y Close()
si el cliente se encuentra en cualquier otro estado.
Tipo de derrotar el propósito de 'usar', ¿no? WCF nunca deja de sorprenderme por lo mal diseñado que está. –
- 1. .NET RIA Services/WCF Services
- 2. WCF/WCF Data Services/Servicios WCF RIA
- 3. ASP.net Web Services versus WCF
- 4. Tiempos de espera WCF Services
- 5. WCF Data Services: Mocking OperationContext
- 6. Ria Services vs WCF Dataservices
- 7. error de solicitud con WCF Data Services
- 8. diferencia entre WCF Services y Web Services y REST Service
- 9. diferencia entre el API Web WCF y WCF Data Services
- 10. ¿Cuán caros son ??? - Hosted WCF Services?
- 11. WCF Data Services Opciones de seguridad
- 12. Serializador JSON.NET para WCF REST Services
- 13. WCF Data Services o Entity Framework
- 14. WCF REST vs. ADO.NET Data Services
- 15. Manejo de excepciones con WCF Data Services
- 16. Colección existe Criteria en WCF Data Services
- 17. WCF Ria Services ChangeSet.GetOriginal(): ¿Cómo funciona?
- 18. Cruise Control .NET time build gasta en estado fallido
- 19. javax.naming.CommunicationException: enlace simple fallido
- 20. Diferencia entre WCF Service, WCF RIA Services y WCF Data Service
- 21. ¿Se pueden implementar WCF Data Services o RIA Services con NHibernate?
- 22. Reporting Services 2008: "Estado HTTP 401: no autorizado" Problema
- 23. configuración de WCF con <services> etiqueta
- 24. ¿Cómo usar WCF RIA SERVICES con la aplicación WPF?
- 25. Cómo manejar json DateTime devuelto por WCF Data Services (OData)
- 26. Cómo deshabilitar esquemas de autenticación de WCF Data Services
- 27. encriptación web.config error fallido
- 28. Rails Comando PDFKit fallido
- 29. SOA Services Testing
- 30. java.lang.NullPointerException at com.sun.faces.context.flash.ELFlash.loggingGetPhaseMapForReading
¿Has probado el trazado de WCF? –
¿Este error proviene del código que consume un servicio WCF, o del propio servicio? –
@Ladislav: No, todavía no. No estoy seguro del trazado de WCF. ¿Son buenos tutoriales para que me apunten? @ Graham: Esto proviene básicamente del código que consume el servicio WCF – Farax