프로젝트에서 많은 웹 서비스가 실행되고 있지만 이상한 일이 발생했습니다. 내 서비스가 가끔씩 오류 메시지와 함께 아무 이유없이 충돌합니다. "통신 객체, System.ServiceModel.Channels.ServiceChannel은 오류 상태이기 때문에 통신에 사용할 수 없습니다." 이것은 대개 덜 자주 발생하는 아침에 응용 프로그램을 실행할 때 발생합니다. 이 오류의 원인은 무엇입니까?WCF at fault 오류 상태
답변
이것은 실패한 서비스를 처리하지 않는 것과 결합 된 시간 초과처럼 들립니다.
코드가 JIT 컴파일되어야하므로 아침에 실행하는 데 시간이 오래 걸립니다. 데이터베이스는 데이터 및 쿼리 계획을 캐시해야 할 수도 있습니다.
가 여기에 WCF 서비스가 FaultException
을 발생하는 경우 WCF 클라이언트가 자체 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
하지만 "사용하고 있지 않습니다." "블록. – Farax
서비스를 사용한 후에도 서비스를 종료해야하며 서비스가 오류 상태 인 경우 서비스를 중단해야합니다. –
실제로 USING 블록을 제거한 후에 실제 오류가 표시 될 수 있습니다. 10x –
후 청소를 얻을 수있는 방법 중 하나입니다, 그 상태를해야합니다 클라이언트는 CommunicationState.Faulted
로 변경되었습니다. 그런 다음 다른 서비스 작업을 호출이 클라이언트 객체를 사용하려고하면 오류
를 얻을 수 있습니다 "통신 개체, System.ServiceModel.Channels.ServiceChannel는 가 있기 때문에 통신 사용할 수 없습니다 오류 상태입니다. "
오류가 발생한 클라이언트에서 Close()
메서드를 호출하려고하면이 오류가 발생할 수 있습니다. 기억이 안납니다.
State
속성을 확인하여 클라이언트 개체의 상태를 확인할 수 있습니다. 클라이언트를 올바르게 닫으려면 (수행해야하는) 클라이언트가 Faulted
상태 인 경우 Abort()
메서드를 호출하고 클라이언트가 다른 상태 인 경우 Close()
메서드를 호출해야합니다.
'사용'의 목적을 무 찌르는 종류일까요? WCF는 얼마나 나쁘게 설계되었는지 놀라지 않습니다. –
- 1. PHP SoapClient 오류 - <fault>
- 2. QDialog exec() (SEG FAULT)
- 3. WCF 변수 수명/상태
- 4. WCF 클라이언트 프록시 상태
- 5. WCF 콜백 채널 오류
- 6. 이 WCF 웹 서비스를 어떻게 디버깅합니까? ("ServiceChannel이 오류 상태 임")
- 7. Silverlight 4 및 ASP.NET의 WCF 오류 예외
- 8. 세그먼트 오류 상태
- 9. WCF IIS 서버 오류
- 10. 그것이 내가 다음 무엇입니까 오류 상태
- 11. AT & T
- 12. 상태 유지 WCF 웹 서비스
- 13. 서비스 오류 상태
- 14. ASP.NET 상태 오류
- 15. MSBuild에서의 트랩 오류 상태
- 16. WCF REST + Windsor 오류 처리
- 17. "프로그램에서 발생하는 액세스 위반 (Segmentation Fault)."
- 18. Windows 서비스에서 호스팅되는 WCF 오류
- 19. NHibernate에 오류 : BuidSessionFactory() 교착 상태/삭제 연결
- 20. 잘못된 SOAP 1.1 오류 코드 값을 생성하는 .NET WCF 오류
- 21. POST를 사용하는 WCF WebService. 네임 스페이스 오류?
- 22. 서비스 경계에서 WCF 오류 로깅
- 23. WCF Windows 인증 오류
- 24. 오류 출판 WCF 서비스
- 25. WCF 오류 처리
- 26. WCF 스레드가 중단되었습니다. 오류
- 27. Ninject에 WCF 오류
- 28. 메타 데이터 오류 - WCF
- 29. WCF 연결 오류
- 30. WCF 바인딩 오류
WCF 추적을 시도 했습니까? –
이 오류는 WCF 서비스를 사용하는 코드 또는 서비스 자체에서 발생합니까? –
@ 라디 슬라브 : 아니, 아직. 나는 WCF 추적에 대해 너무 확신하지 못한다. 나에게 좋은 자습서를 만들어 주겠니? @Graham : 이것은 기본적으로 WCF 서비스를 사용하는 코드에서 발생합니다. – Farax