WCF服务的EntityFramework对象上下文的生命周期

时间:2011-08-09 18:52:12

标签: .net entity-framework entity-framework-4 inversion-of-control unity-container

我有一个WCF服务,它将处理我的实体的插入,更新和删除(而不是读取)。

此服务中包含多个EF模型(每个模型映射到数据库的不同部分)。

我的问题是:创建ObjectContexts是否昂贵?我是否可以在每次收到保存请求时创建一个新的(这将是相当频繁的)?

或者我应该尝试让每个实例持续时间更长?如果我这样做,上下文缓存的东西? (我将潜在地将其置于硬件负载平衡情况下。)

如果我要为每个请求创建新的ObjectContexts,有没有办法让我更快?

1 个答案:

答案 0 :(得分:3)

快速创建新上下文。实体框架中的上下文的生命周期被设计为尽可能短(工作单元模式)。建议每个请求创建一个实例。请参阅here

  

Web应用程序 - 根据请求使用上下文。自从在网络上   应用程序我们处理的请求非常短但是包含所有请求   服务器事务然后它们是适当的持续时间   生活的背景。我们将享受到的所有功能   上下文,它不会挂掉很长时间。