使用嵌入式Adobe Reader Control处理泄漏

时间:2019-04-08 17:49:23

标签: c# axacropdf handle-leak

  • 应用程序在生产车间的大型显示器上运行。
    • 每个生产的特定产品都有特定的PDF文件。
    • 产品全天变化。

试图创建一个解决方案,该解决方案会根据当前生产的产品定期刷新并显示特定的PDF文件。

我的最后一个解决方案似乎已经完成,除了根据任务管理器的句柄泄漏。

我尝试了无数解决方案和体系结构。最能说明问题的一个是

  • 单击菜单项以启动表单
  • 窗体中嵌入了一个axacropdflib控件。
  • 对控件不执行任何操作。除了在FormClose上处理
  • 父级应用程序启动一个计时器,该计时器将启动表单,然后关闭表单。
  • 每次后续启动都会根据任务管理器创建50-100个新的句柄。
  • 如果删除控件,则不会发生,如果添加控件,则不会发生。还嵌入了一个sql服务器报表查看器控件,仅此控件在这种体系结构下不会显示句柄泄漏。

    • 我的最后一招将是创建一个独立的exe文件,该文件将关闭并打开,而不是表格。但是,这比起我希望介绍的,是对长期存在的体系结构的更多更改,并且希望避免出现“这到底是什么鬼东西?”我的队列中的评论。 :-)

关于清理方法等方面的任何建议可能会引起这一问题?已经广泛使用GC,除非我做错了,否则似乎没有效果。

只需重申一下,似乎只是axacropdflib控件的存在才起作用。

谢谢, 皮特

0 个答案:

没有答案