簡體   English   中英

如何在.net中管理大型序列化數據對象

[英]how to manage large serialized data object in .net

我有大型(20-30 MB)序列化數據對象(從excel序列化的數據)作為.net應用程序的輸入。 每當用戶通過Web服務請求時,我都需要根據用戶輸入以及來自序列化對象的數據來處理輸出。

哪種方法可以將這些對象存儲在.net應用程序(緩存/會話/應用程序對象)中? 因為這些序列化的數據對象每年更改3或4次。 當用戶請求發送到Webserivce時,我不想每次都將這些序列化的對象數據加載到內存中。

我也想知道如何將這些對象存儲在內存和磁盤中,這樣就不會占用太多的內存空間和磁盤空間。

使用靜態變量存儲序列化的對象。 正如您提到的,序列化對象具有全局范圍,因此不要存儲在session中,因為它是user / session 另外,我們經常將最常用的項目存儲在緩存中,並定期進行更新,但是正如您提到的那樣,每年將更新3-4次,因此Cache在IMO中不是一個很好的選擇。

我不確定我是否了解您的需求,但是我想您應該更改應用程序體系結構並將數據存儲為條目,而不是將其序列化為20Mb對象。 序列化20mb對象是一個壞主意。

使用MS SQL Server Compact ,它是MS提供的免費,輕量級的過程數據庫,程序集占用大約1Mb的磁盤空間。 我什至將它用於Windows Service Application,它的表現也異常快速和可靠。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM