CommunicationException with 'not recognized se

2020-03-01 18:34发布

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条回答
倾城 Initia
2楼-- · 2020-03-01 19:10

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.

查看更多
来,给爷笑一个
3楼-- · 2020-03-01 19:11

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

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

查看更多
你好瞎i
4楼-- · 2020-03-01 19:18

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.

查看更多
三岁会撩人
5楼-- · 2020-03-01 19:29

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

查看更多
登录 后发表回答