在Silverlight应用程序中创建静态DomainContext是否合适?

时间:2011-04-19 09:39:20

标签: silverlight silverlight-4.0

我正在开发Silverlight应用程序。我在我的应用程序中创建静态DomainContext,因此每个DomainContext只有一个。当我使用应用程序一段时间后,DomainContexts似乎将数据保留在其中,例如,当我搜索数据并返回100条记录时,它将保留这些数据,直到我手动清除它。

  1. 将DomainContext创建为静态并在应用程序的生命周期中重用它是否合适?
  2. 如果有一个DomainContext实例是好的,我该如何处理膨胀上下文问题?

1 个答案:

答案 0 :(得分:3)

  1. 一个DomainContext是一个好主意,因为您不能/不应该在不同的DomainContext对象之间共享实体,如果您尝试这样做,程序将失败。

  2. 只要您的数据在给定时间点没有必要且与服务器同步,请使用DomainContextObject.UnnecessaryEntities.Clear()方法。此外,您应该问自己一个问题应该向客户端发送多少记录,如果您要提供它们,100似乎很多,可以从服务器端轻松完成分页,这样您就可以通过网络发送更少的数据。另一点是这些记录可以占用多少内存(我猜这与平均客户端RAM容量相比没什么)