我必須處理一個需要大約2-3分鐘才能加載的類。該對象位於silverlight/ASP/WCF項目的服務器端。一旦加載,該對象將包含一個5 000 000個較小對象的列表,將用於執行一些計算。Silverlight/ASP.NET/WCF項目中的大對象?
用戶不介意在應用程序加載時等待2到3分鐘,但他們不想在每次計算時再等待。
我希望您對我的選項有所瞭解。
選項A:將大對象保留在會話變量中。有些人聲稱會話變量是毒藥......特別是當用於大對象時。這真的很糟嗎?
選項B:裝載大物件時,服務器開始,然後找到一種方式來共享或複製會話之間的對象
選項C(這一個會工作......但它並不完美):創建第二個對象將從我耗時的課程中複製5 000 000個對象,然後將其發送給客戶端。然而,這種解決方案並不完美,因爲這500萬個對象是不應該在客戶端「按現狀」訪問的合理數據。
您能否提供任何線索,爲什麼將5,000,000個對象複製到客戶端是有意義的?你不能在數據已經存在的服務器上執行計算嗎? – 2010-12-15 01:13:52
在服務器端執行計算是我想要做的......這就是爲什麼我寧願使用選項A或B.選項C更像是一種解決方法。 – 2010-12-15 03:08:05
您在服務器上發送的數據可以加密..但是如果您將數據存儲在Cookie中,則需要序列化您的對象以及Cookie的空間有限.. – 2010-12-15 03:16:29