简体   繁体   中英

WCF Exception: The reliable session was faulted

I am facing WCF exception that says,

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.

I have reliable session enabled for the service to make subsequent calls within same session.

I have tried increasing the timeouts at both ends, service and client, disabling application recycling, etc, but nothing worked.

We have a Load balancer in our hosting environment for which sticky sessions are enabled.

For reference, I am posting here the stack trace

at System.ServiceModel.Channels.InputQueueChannel`1.EndDequeue(IAsyncResult result, TDisposable& item)
at System.ServiceModel.Dispatcher.ErrorHandlingReceiver.EndTryReceive(IAsyncResult result, RequestContext& requestContext)
at System.ServiceModel.Dispatcher.ChannelHandler.EndTryReceive(IAsyncResult result, RequestContext& requestContext)
at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.ServiceModel.Diagnostics.TraceUtility.<>c__DisplayClass4.<CallbackGenerator>b__2(AsyncCallback callback, IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.Runtime.InputQueue`1.AsyncQueueReader.Set(Item item)
at System.Runtime.InputQueue`1.Shutdown(Func`1 pendingExceptionGenerator)
at System.ServiceModel.Channels.CommunicationObject.Abort()
at System.ServiceModel.Channels.ServiceChannel.OnAbort()
at System.ServiceModel.Channels.CommunicationObject.Abort()
at System.ServiceModel.ServiceChannelManager.OnAbort()
at System.ServiceModel.Channels.LifetimeManager.Abort()
at System.ServiceModel.InstanceContext.OnAbort()
at System.ServiceModel.Channels.CommunicationObject.Abort()
at System.ServiceModel.Dispatcher.InstanceContextManager.OnAbort()
at System.ServiceModel.Channels.LifetimeManager.Abort()
at System.ServiceModel.ServiceHostBase.OnAbort()
at System.ServiceModel.Channels.CommunicationObject.Abort()
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.Abort()
at System.Web.Hosting.HostingEnvironment.StopRegisteredObjects(Boolean immediate)
at System.Web.Hosting.HostingEnvironment.InitiateShutdownWorkItemCallback(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

Can somebody help me to sort this out?

Thanks in advance.

We get this error if the sessions are not sticky on the load-balancer. For anyone else that has this issue, this would be something to check and make sure it is working correctly.

This is an old question and I'm not sure it's still relevant. Anyway, here is my try.

I had the same problem/error message and I tried the following:

  • Increase reliable session inactivity timeout
  • Increase recieve time out

If it's still not working, also increase the reliable 'maxRetryCount'.

This helped me out, I hope that is also works for you!

Good luck!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM