【问题标题】:Anyone experiencing slow WPF application with RDLC reports?有人遇到 RDLC 报告的 WPF 应用程序缓慢吗?
【发布时间】:2010-05-17 00:10:12
【问题描述】:

我有一个最多可容纳 60 个用户的 WPF 应用程序。

他们中的一些人是收银员用户,我使用 RDLC 报告来显示客户订单。 问题是,用户告诉应用程序变慢或挂起。

此 WPF 应用程序使用最新的企业库。默认情况下处理连接池,没有自定义。

RDLC 文件使用数据集 XSD 文件。 XSD 文件使用数据库存储过程来选择数据。

在 RDCL 使用的 xsd 文件上,我有类似的内容:

Data Source=Junior-PC;Initial Catalog=FoodAndBeverage;Persist Security Info=True;User ID=sa;Password=mypass

在 c# 代码隐藏中,静态连接字符串:

Data Source=Junior-PC;Initial Catalog=FoodAnBeverage;User ID=sa;Password=mypass;Connection Timeout=4

每 30 秒我还有一个 DispatcherTimer 来检查是否找到了数据库服务器 IP。

任何人对使用 RDLC 的这个缓慢的 WPF 应用程序问题有类似的问题吗?显示 RDLC 报告的 WindowsFormsHost 变慢会是问题吗?

我可以做些什么来加快速度?

【问题讨论】:

  • 我做了一些测试,在每个 RDLC 印象中,用户计算机的内存越来越小。我正在考虑隔离 RDLC,将它们迁移到轻量级 WPF / Win32 应用程序。

标签: wpf xsd performance rdlc


【解决方案1】:

当我在寻找另一个reportviewer (rdlc) 问题的解决方案时,我看到了Brian Hartman 的评论,即report viewer 2010 修复了一些内存问题。谷歌搜索内存泄漏向我展示了这篇文章:

http://social.msdn.microsoft.com/forums/en-US/vsreportcontrols/thread/d21f8b56-3123-4aff-bf84-9cce727bc2ce

请注意,使用 ReportViewer 2010 目前存在一些兼容性问题(以及新的 rdlc 格式)。使用前先测试一下。

【讨论】:

  • 我做的第一件事就是下载 Report Viewer 2008 SP1 的服务包。在后面的 C# 代码上,现在我通过将这些 rdlc 和数据集对象设置为 null 然后调用垃圾收集器来释放内存。内存现在更加稳定:持续增长一些时间,但最终在第一次运行应用程序时减少到接近应有的位置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 2010-11-08
  • 1970-01-01
相关资源
最近更新 更多