2012-02-22 84 views

回答

3

爲什麼你需要存儲整個數據集? 如果必須,然後在會話中進行。如果你的會話是「inproc」,數據集對象將被存儲在內存中(因爲沒有序列化,所以你可以節省一些性能)。

如果我是你,我會分析代碼並儘量不將整個數據集存儲在會話中,而不是視圖狀態 - 必須有一種方法來優化代碼。

希望它有幫助。

1

將數據集存儲在視圖狀態或會話中是不明智的,但在兩者之中,將它存儲在會話中肯定比viewstate好。此後,序列化/反序列化將在服務器中處理。而不是將序列化的數據發送到客戶端。

1

正如我在會議認爲存儲將可以幫助你,但你需要考慮follwing點

  1. 有多少用戶正在使用您的應用程序?
  2. 數據集的大小是多少?如果它更多,則不要將它存儲在會話中。

我建議你看看你的需求,如果可能的話,你可以存儲緩存,但它是應用程序級別。作爲會話每個用戶都有自己的會話。

可以檢查follwing鏈接

  1. Session V/s Viewstate
2

如果你想存儲整個數據集總有高速緩存方法至極將讓你巨大的變量存儲與良好的性能。這裏是一個如何將變量存儲到Cache中的例子。

Cache["CacheItem1"] = "Cached Item 1"; 

這之後如何以檢索變量:

string cachedString; 
cachedString = (string)Cache["CacheItem"];