0

我正在寻找在我的 WPF c# .NET 4.0 Web 应用程序中实现此数据结构的最佳方法。

应用程序详细信息:此应用程序一次将有许多用户。我正在使用一个有 2 个表链接在一起的数据库,它们的行数都小于 10k,但它们会随着时间的推移而增长。需要定期检查一张表是否有更新。

问题: 我创建了一个数据集来保存所有信息。我的单元测试显示从数据库中填充数据集大约需要 0.2 秒。如果数据集将在整个应用程序中持续存在,现在还不是时候。它可以在许多用户的应用程序中持续存在吗?

我能想到的另一种方法是使用可观察的数据集合并将它们存储在单例中。有什么我在这里遗漏的方法或对我更有效的方法吗?

4

1 回答 1

1

我认为您在这里误解了一些非常重要的概念。首先,WPF 不是 ASP.Net,WPF 应用程序不会“在服务器上运行”。WPF 应用程序在执行它们的计算机(即客户端)上运行,无论是在 Internet Explorer 中运行的 XBAP。

因此,您不能在 WPF 应用程序的许多实例之间共享诸如“单例”之类的东西,因为每个实例都将在单独的计算机上以自己的进程运行。没有实用的方法可以在这些实例之间共享内存。

然后,如果您需要“Web 应用程序”,WPF 可能不适合您的项目。WPF 不是一种 Web 技术,它是一种丰富的桌面应用程序技术,它不依赖于 HTML 或类似的糟糕实现。

现在,如果您需要(或希望)WPF 提供的丰富性、令人敬畏和易于开发,您将必须实现一个客户端/服务器应用程序,可能使用 WCF 或任何其他通信技术来使您的富客户端能够与服务器通信。

“服务器”将是一个应用程序,负责从数据库中查询数据,然后可能将其缓存在内存中,然后将其发送给客户端。通常一个 WCF 服务应用程序就足够了,尽管根据您的要求,您可能需要在它之上实现更多层。

除此之外,我认为没有充分的理由向 WPF 客户端发送 10k 行信息,因此您必须想出一些分页机制才能以“块”的形式发送数据。

请提供有关您需要的更多详细信息,我可以为您提供更多见解。

于 2012-11-27T17:28:54.290 回答