CommunicationException with 'not recognized sequence' message in WCF

9.7k Views Asked by At

I get a CommunicationException while using WCF service. The message is:

The remote endpoint no longer recognizes this sequence. This is most likely due to an abort on the remote endpoint. The value of wsrm:Identifier is not a known Sequence identifier. The reliable session was faulted.

The exception is thrown in a moment after a contract method was called. Before calling contract method the channel state is Opened. I restore my service client after catching this exception and for some time it works fine. But then this error occures again. It seems like some timeout is exceeded, but I can't understand which one exactly.

I use wsHttpBinding with reliableSession enabled. The InactivityTimeout is set to half an hour and I'm sure it's not exceeded, because exception is thrown earlier.

4

There are 4 best solutions below

0
On BEST ANSWER

I solved the problem. The reason was RecieveTimeout on a server side. It was set to 1 minute, so after having no requests during 1 minute server used to close a channel, and when client tried to call a contract, channel was already crashed due to the timeout.

I found the solution after reading this article:

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

0
On

I have seen this happen when an application pool gets recycled.

Look at the very last section of this blog about service recycling .

1
On

Tip: If you're returning a object and it has properties check the gets and sets of each one. We had a problem around it.

0
On

I received this error while setting up a new WCF service which returned a list of objects.

My understanding is that WCF services can only pass very simple objects back n forth.

So objects with anything other than public properties will not be transferable.

The object had a read only property doing a bit of logic.

Once I got rid of this, rebuilt, and updated the web references, the error went away.