比XmlSerialization更好的方法用于脱机表缓存

时间:2019-06-10 05:44:48

标签: c# xml caching offline xmlserializer

在大型FAT客户端中,我们使用参考表。它们具有相同的特征:

  • 应用程序用户(仅由管理员)不会更改它们
  • 它们可以序列化
  • 它们可以离线使用
  • 它们共享一组通用的字段(标识,说明,版本,IsActive)
  • 它们每个都有许多表的唯一字段
  • 它们可以随时删除,并会从服务器刷新
  • 仅在需要时才将它们以惰性方式加载到缓存中

当前,它们在特定的缓存文件夹中以gz压缩,xml序列化文件的形式实现。在组合框中经常使用它们,或查找预定义集合的一个或多个值。有一百多个。

此实现存在的问题是:

  • 这会减慢用户界面的速度:数据输入屏幕可以包含多个参考表。第一次打开时,会减慢打开过程
  • 自定义XmlSerializer类是(预先)生成的,但是在调试模式下,它们通常是动态生成的,这可能会使数据输入掩码的启动延迟几分钟。在需要大量启动应用程序的开发周期中,它可能会使速度大大降低。

我注意到我可以通过将参考表存储为Xml文件而不是压缩的gz文件(其中包含Xml)来加快参考表的加载速度。 现在我想知道是否有更好的方法来存储和检索参考表以克服这些问题。

我在github存储库中发布了一个示例解决方案,以说明当前的方法:https://github.com/tbremeyer/CodeTableCaching

0 个答案:

没有答案