首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >__SysObjects上的SQL Compact锁定超时

__SysObjects上的SQL Compact锁定超时
EN

Stack Overflow用户
提问于 2011-01-18 11:38:43
回答 1查看 522关注 0票数 0

我使用的是SQL Compact3.5 SP2。我的应用程序是多线程的,但它不跨线程共享连接。相反,我使用自定义对象池来确保每个线程都有自己的连接。也就是说,连接可能会在不同的时间在不同的线程上被重用……换句话说,我假设这些连接没有线程亲和性。另外,我不确定这是否重要,但我使用的是.NET 3.5 SP1中的实体框架。

无论如何,当我遇到高负载的情况(8+线程)时,我会得到锁超时异常(不管超时设置的长度如何),异常总是说锁在__SysObjects表上。

我没有做任何DDL,所以我不明白为什么我会在那个表上得到锁定超时。想法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-19 23:17:20

我在一定程度上解决了这个问题,方法是确保我的连接在每次使用后都是关闭的(而不是共享打开的连接),但是如果我让代码长时间运行,我就会得到OutOfMemoryException和AccessViolation异常。

这看起来像是SqlCeConnection类具有某种线程关联依赖关系。或者,或者它有某种类型的内存泄漏。

无论如何,我已经放弃了对这些对象进行池化的尝试。

编辑:这实际上是一个由累积更新2发布的地址。自从更新我对新库的引用以来,我还没有看到这个问题。请参阅:http://support.microsoft.com/kb/983516

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4720253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档