【发布时间】:2014-01-14 12:51:50
【问题描述】:
当我们尝试使用 ASP.net MVC4 网站更新用户时,我们会收到此错误。请帮我找出来。这以前可以正常工作。
ErrorCode<ERRCA0012>:SubStatus<ES0001>:被引用的对象没有被任何客户端锁定。
说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详情:Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode<ERRCA0012>:SubStatus<ES0001>:所引用的对象未被任何客户端锁定。
来源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常来源和位置的信息。
堆栈跟踪:
[DataCacheException: ErrorCode<ERRCA0012>:SubStatus<ES0001>:Object being referred to is not locked by any client.]
Microsoft.ApplicationServer.Caching.DataCache.ThrowException(ErrStatus errStatus, Guid trackingId, Exception responseException, Byte[][] payload, EndpointID destination) +551
Microsoft.ApplicationServer.Caching.SocketClientProtocol.ExecuteApi(IVelocityRequestPacket request, IMonitoringListener listener) +287
Microsoft.ApplicationServer.Caching.SocketClientProtocol.PutAndUnlock(String key, Object value, DataCacheLockHandle lockHandle, TimeSpan timeout, DataCacheTag[] tags, String region, IMonitoringListener listener) +360
Microsoft.ApplicationServer.Caching.DataCache.InternalPutAndUnlock(String key, Object value, DataCacheLockHandle lockHandle, TimeSpan timeout, DataCacheTag[] tags, String region, IMonitoringListener listener) +216
Microsoft.ApplicationServer.Caching.<>c__DisplayClass9d.<PutAndUnlock>b__9c() +160
Microsoft.ApplicationServer.Caching.DataCache.PutAndUnlock(String key, Object value, DataCacheLockHandle lockHandle, TimeSpan timeout) +276
Microsoft.Web.DistributedCache.<>c__DisplayClass1c.<PutAndUnlock>b__1b() +52
Microsoft.Web.DistributedCache.<>c__DisplayClass31`1.<PerformCacheOperation>b__30() +19
Microsoft.Web.DistributedCache.DataCacheRetryWrapper.PerformCacheOperation(Action action) +208
Microsoft.Web.DistributedCache.DataCacheForwarderBase.PerformCacheOperation(Func`1 func) +167
Microsoft.Web.DistributedCache.DataCacheForwarderBase.PutAndUnlock(String key, Object value, DataCacheLockHandle lockHandle, TimeSpan timeout) +162
System.Web.SessionState.SessionStateModule.OnReleaseState(Object source, EventArgs eventArgs) +929
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +270
【问题讨论】:
-
请提供您执行的方法的源代码,而不是让我们从堆栈跟踪中推断出来。
-
您的问题的时机再好不过了,因为我们现在正在处理完全相同的错误......您能检查一下您的请求是否超时吗?有关详细信息,请参阅此帖子:anujvarma.com/session-storage-app-fabric-cache
-
亲爱的@GauravMantri
我们的网络配置中没有这行代码。是不是意味着我需要添加,否则就默认了? -
我们尝试过,但似乎并没有真正帮助我们。请检查您的代码,看看是否有任何东西会导致请求超时。在我们的例子中,这是我们为重试存储操作设置的重试策略。
-
我们在 azure 中也遇到了完全相同的问题,今天让我们失望了。它在重新启动并启动其他服务器后解决。我们没有在会话结束时运行的代码,所以我不确定我们是否只是在会话中放入了不应该的东西,或者 azure 缓存会话提供程序是否存在错误/问题。
标签: c# asp.net asp.net-mvc caching azure