2011-04-19 54 views
4

我正在開發Silverlight應用程序。我在我的應用程序中創建了靜態的DomainContext,因此每個DomainContext只有一個。當我使用應用程序一段時間時,DomainContexts似乎將數據保存在其中,例如,當我搜索數據並返回100條記錄時,它將保留這些數據,直到我手動清除它爲止。在Silverlight應用程序中創建靜態DomainContext是否好?

  1. 將DomainContext創建爲靜態並將其重用於應用程序的生活是否很好?
  2. 如果有一個DomainContext實例很好,我該如何處理膨脹上下文問題?

回答

3
  1. 一個DomainContext是一個好主意,因爲你不能/不應該不同DomainContext對象之間共享實體,如果你嘗試做程序將失敗。

  2. 任何時候當您有數據時,在給定點上沒有必要並且與服務器同步,請使用DomainContextObject.UnnecessaryEntities.Clear()方法。另外,你應該問自己一個問題,應該向客戶端發送多少條記錄,如果你要呈現它們,100條似乎很多,分頁可以很容易地從服務器端完成,所以你可以通過網絡發送更少的數據。另一點是這些記錄可以佔用多少內存(我想這與平均客戶端RAM容量相比沒什麼)

相關問題