WCF例外:可靠的会话出现故障

时间:2011-07-07 05:04:22

标签: wcf

我正面临WCF异常,即

远程端点不再识别此序列。这很可能是由于远程端点中止。 wsrm:Identifier的值不是已知的Sequence标识符。可靠的会话出了问题。

我为该服务启用了可靠的会话,以便在同一会话中进行后续调用。

我已尝试增加两端,服务和客户端的超时,禁用应用程序回收等,但没有任何效果。

我们的托管环境中有一个负载均衡器,可以启用粘性会话。

作为参考,我在这里发布堆栈跟踪

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()

有人可以帮我解决这个问题吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

这是一个老问题,我不确定它是否仍然相关。 无论如何,这是我的尝试。

我遇到了同样的问题/错误消息,我尝试了以下内容:

  • 增加可靠的会话不活动超时
  • 增加接收时间

如果它仍然不起作用,还要增加可靠的'maxRetryCount'。

这帮助了我,我希望这也适合你!

祝你好运!

答案 1 :(得分:0)

如果会话在负载均衡器上没有粘性,我们会收到此错误。对于有这个问题的任何其他人,这将是检查并确保它正常工作的东西。