2010-04-16 4 views
9

WCF 서비스를 사용하는 동안 CommunicationException이 발생합니다. 메시지는 다음과 같습니다.WCF에서 '인식 할 수없는 시퀀스'메시지가있는 CommunicationException

원격 종점은이 시퀀스를 더 이상 인식하지 않습니다. 이는 원격 엔드 포인트에서의 중단으로 인한 것 같습니다. wsrm : Identifier의 값은 알려진 Sequence 식별자가 아닙니다. 신뢰할 수있는 세션에 오류가 발생했습니다.

계약 메서드가 호출 된 후 예외가 발생합니다. 계약 방법을 호출하기 전에 채널 상태가 열립니다. 나는이 예외를 잡아 내 서비스 클라이언트를 복원하고 얼마 동안은 정상적으로 작동합니다. 하지만이 오류가 다시 발생합니다. 어떤 타임 아웃이 초과 된 것 같지만 정확히 어느 것이 이해가되지 않습니다.

신뢰할 수있는 세션이 활성화 된 wsHttpBinding을 사용합니다. InactivityTimeout은 30 분으로 설정되어 있으며 초과되지 않았 음을 확신합니다. 예외가 먼저 발생하기 때문입니다.

답변

7

나는이 문제를 해결했다. 그 이유는 서버 쪽에서는 RecieveTimeout입니다. 1 분으로 설정되었으므로 1 분 동안 서버가 채널을 닫는 동안 요청이 없었고 클라이언트가 계약을 호출하려고 시도했을 때 시간 초과로 인해 채널이 이미 손상되었습니다.

나는이 기사를 읽은 후 해결책을 발견 : 개체의 목록을 반환 새로운 WCF 서비스를 설정하는 동안

http://msdn.microsoft.com/en-us/library/system.servicemodel.reliablesession.inactivitytimeout.aspx

0

응용 프로그램 풀이 재활용되면이 문제가 발생하는 것으로 나타났습니다.

서비스 재활용에 관해서는 blog의 맨 마지막 부분을 살펴보십시오.

2

내가이 오류를 받았다.

제 생각에 WCF 서비스는 매우 간단한 개체 만 전달할 수 있습니다.

따라서 공공 재산 이외의 다른 물건은 양도 할 수 없습니다.

개체에 약간의 논리를 적용하는 읽기 전용 속성이 있습니다.

일단 내가 이것을 없애고, 다시 작성하고 웹 참조를 업데이트하면 오류가 사라집니다.

0

팁 : 개체를 반환하는 경우 속성이 있으면 각 개체의 도착 및 집합을 확인하십시오. 문제가 발생했습니다.

관련 문제