这更像是一个非科技问题。
我们打算与Linq一起使用OrganizationServiceContext,而不是调用OrganizationServiceProxy。
我的问题是:上下文的生命周期应该是什么?是应该按照每种方法实例化一次,还是可以使用单例方法在Web应用程序的生命周期内保留它?
优点/缺点是什么?有什么建议吗?
提前致谢
答案 0 :(得分:2)
在Web应用程序的生命周期中,您永远不应该保留datacontext。应用程序生命周期在代码之外进行管理。
当其他用户同时保存时,保存更改也会让人感到痛苦。 Datacontexts应始终仅在请求的生命周期内进行管理,并且运行保存更改不应该在处理时保存其他人的请求中的碎片。
如果要减少读取,请使用缓存。 如果要管理与工作单元一起使用的并发事务。
答案 1 :(得分:2)
为了扩展Gats的答案,这完全正确,我们为每个单独的方法创建新的上下文对象。即使对于我们知道我们一次只为一个用户运行的Silverlight,在任何时候管理上下文中的内容都是非常痛苦的,只是为了避免创建新的上下文对象。