Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 加载\查询大型序列化对象_C#_.net_Web Services_Memory - Fatal编程技术网

C# 加载\查询大型序列化对象

C# 加载\查询大型序列化对象,c#,.net,web-services,memory,C#,.net,Web Services,Memory,我有一个30MB的序列化类存储在外部,其中包含查找值。每次收到webservice请求时,我都需要将序列化文件加载到内存中,并根据该序列化类查找特定的键。此操作既耗时又占用大量资源,严重影响了应用程序的性能 请帮我整理一下。显然,您应该将序列化内容移动到数据库,这样会更有效。尝试将序列化类中的查找值加载到应用程序对象。在此之前,需要将序列化类中的值加载到System.Collections.Generic.HashSet 另外,不要忘记重写hashcode函数。为了提高性能,请在构造函数中预生成

我有一个30MB的序列化类存储在外部,其中包含查找值。每次收到webservice请求时,我都需要将序列化文件加载到内存中,并根据该序列化类查找特定的键。此操作既耗时又占用大量资源,严重影响了应用程序的性能


请帮我整理一下。

显然,您应该将序列化内容移动到数据库,这样会更有效。

尝试将序列化类中的查找值加载到应用程序对象。在此之前,需要将序列化类中的值加载到System.Collections.Generic.HashSet


另外,不要忘记重写hashcode函数。为了提高性能,请在构造函数中预生成哈希代码。

问题在于,客户端将仅以序列化格式向我们提供查找值。即使在部署之后,对查找值的任何更新都是通过将现有的序列化文件替换为新文件来完成的。即使如此,您也可以创建一个数据库层,该层将在客户端接收的数据和数据库中的数据之间进行映射和比较。我从facebook接收JSON格式的数据库。。但我把tham留在MSSQL中。。我有代码来完成两者之间的工作..好的,正如你提到的,我会尝试将值加载到数据库中。一旦我完成了Shekar提到的数据库建议,我将对此进行研究。谢谢