OrganizationServiceContext的生命周期 - CRM Dynamics 2011

时间:2011-06-06 05:50:03

标签: dynamics-crm-2011

这更像是一个非科技问题。

我们打算与Linq一起使用OrganizationServiceContext,而不是调用OrganizationServiceProxy。

我的问题是:上下文的生命周期应该是什么?是应该按照每种方法实例化一次,还是可以使用单例方法在Web应用程序的生命周期内保留它?

优点/缺点是什么?有什么建议吗?

提前致谢

2 个答案:

答案 0 :(得分:2)

在Web应用程序的生命周期中,您永远不应该保留datacontext。应用程序生命周期在代码之外进行管理。

当其他用户同时保存时,保存更改也会让人感到痛苦。 Datacontexts应始终仅在请求的生命周期内进行管理,并且运行保存更改不应该在处理时保存其他人的请求中的碎片。

如果要减少读取,请使用缓存。 如果要管理与工作单元一起使用的并发事务。

答案 1 :(得分:2)

为了扩展Gats的答案,这完全正确,我们为每个单独的方法创建新的上下文对象。即使对于我们知道我们一次只为一个用户运行的Silverlight,在任何时候管理上下文中的内容都是非常痛苦的,只是为了避免创建新的上下文对象。