繁体   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