【问题标题】:C# Winform, Load large XML into dataset/list<Obj> once and then Access it all over the projectC# Winform,将大型 XML 加载到 dataset/list<Obj> 一次,然后在整个项目中访问它
【发布时间】:2016-11-28 07:50:51
【问题描述】:

我正在研究将姓名、电话号码存储到 XML 文件中并将所有数据显示回数据网格视图的 c#win 表单项目。文件大小每天都在增加,我需要在不同的表单上多次使用这些数据,每次解析 XML 文件的成本非常高。我想加载一次 XML 文件,然后在我的应用程序中需要的任何地方使用它,但我不知道如何在我的项目中执行这种方法。请指导我解决此问题的最佳方法。

【问题讨论】:

  • 全局变量?在类中加载 XML 并将其保存在项目 namespace 中的某个位置。
  • 在您需要时缓存数据,这将是一个解决方案。
  • 在加载应用程序时。在 Object 中加载完整的 xml,直到程序运行。操纵对象而不是文件。然后在卸载/退出时将 XML 保存回来。
  • 但问题是我应该在哪里加载 xml 类(Program.cs?)以及如何在整个表单中使用这个类
  • 解析 XML 的代价是什么?时间?

标签: c# xml winforms


【解决方案1】:

在需要之前缓存已解析的 XML 是解决此问题的方法。

缓存是一种将数据存储在网络服务器缓存中的概念,以便在多次使用数据时轻松访问,因为每次查询数据库都会很滞后。

您可以使用缓存的数据,而不是每次需要时都查询数据库。

如果您已经对 XML 进行过一次解析,则可以将其存储为缓存变量。

看看这个问题Here。它解释了如何使用缓存 texhnique。

希望这会有所帮助....

谢谢!

【讨论】:

  • 将 20000 行的数据表保存到缓存内存中是否具有成本效益。
  • @MuhammadALi 这取决于...如果财务是一个约束,您可能会将数据存储在某个会话变量中...这不是一个好主意..它会减慢页面加载时间和东西......
  • 您可以正确拆分和排序表格,以免每次都加载所有内容
猜你喜欢
  • 2016-07-17
  • 1970-01-01
  • 2015-09-11
  • 1970-01-01
  • 2021-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多