首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体框架与COM+

实体框架与COM+
EN

Stack Overflow用户
提问于 2011-05-04 18:27:20
回答 1查看 189关注 0票数 0

我在使用实体框架和COM+时遇到了问题。其架构如下:

  • windows服务每n分钟调用一次COM的四种方法。

然后,

  • COM+在业务层上调用相应的方法。

  • 业务层调用DAL。DAL然后将一个列表返回到业务层。这是通过调用.ToList()

来完成的

当我尝试运行服务时,DAL方法返回一个超时内部异常。当我试图从Enterprise查看表时,它也会返回一个超时!据我所见,SELECT语句阻塞了其他连接实例。

还有其他人遇到过类似的问题吗?

我还不能发布任何代码因为我不在工作..。明天就会这么做。

EN

回答 1

Stack Overflow用户

发布于 2011-05-05 13:31:44

嗯,看起来,实体框架与上面的任何一个都没有关系。事实证明,问题就在COM+内部。我应该用ContextUtil.SetComplete()结束每个ContextUtil.SetComplete方法。显然,我没有这样做,所以事务保持活跃,在最初几次调用之后,它锁定了我的db。

例如:

代码语言:javascript
复制
Using MyEntity As New EntityObject
  MyEntity.Connection.Open()
   Dim rows = From tbl In MyEntity.MyTable _
              Select tbl
   list = rows.ToList
End Using

ContextUtil.SetComplete()

请注意,如果出现异常,您应该放置一个ContextUtil.SetAbort()。我还想指出,上述代码是混合的。它是我的DAL层的一部分,也是我的COM+的一部分。我这样说是为了让这个例子更清楚..。

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

https://stackoverflow.com/questions/5888170

复制
相关文章

相似问题

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