【问题标题】:RenderTargetBitmap renders empty imagesRenderTargetBitmap 渲染空图像
【发布时间】:2018-03-20 22:04:40
【问题描述】:

情况如下:我有一个 ASP.NET Web 窗体应用程序,它使用 WPF 控件进行报告。

流程如下:Create WPF controls and bind to data -> create image from WPF control -> use generated image to create PDF reports.

我正在使用RenderTargetBitmap 从 WPF 控件呈现位图。问题是,当我在本地机器(Windows 10)上运行所有这些时,它可以工作,只要将应用程序部署在 QA 机器(Windows Server 2008 R2)上,它就会生成空图像。

我试图通过在 WPF 控件上仅保留静态文本来简化报告页面,但我仍然得到空白页面。

我创建了示例控制台应用程序,该应用程序模拟了将数据绑定到 WPF(授予的静态数据)的一部分并从 WPF 控件生成图像,并且它适用于两种环境。我能想到的一个区别是控制台应用程序没有以IIS' AppPoolIdentity 运行,它在 QA 机器上运行 Web 应用程序。

我遇到了this SO post,这表明存在导致类似问题的 Windows 更新。我们的 QA 机器是 Azure VM,因此会定期安装更新。导致该问题的更新从 2​​017 年 9 月开始,在 October 2017 中进行了修复更新。所以我排除了导致问题的Windows更新。

同样在引用的 SO 帖子中,OP 建议仅当运行代码的帐户是系统帐户时才会发生此问题

只有在高权限系统帐户下运行时(例如从任务调度程序),它才不起作用。

我也尝试过,让任务计划程序运行示例控制台应用程序,但正如我上面提到的,它成功创建了图像。

所以此刻我几乎没有想法。

应该生成图像的应用程序代码是分散的,所以我不在这里分享它,但如果有任何特别感兴趣的片段很乐意发布。

知道什么会导致差异中的这种不同行为。环境?

【问题讨论】:

    标签: wpf rendertargetbitmap


    【解决方案1】:

    事实证明,排除缺少 Windows 更新是不正确的做法。 最后我安装了fix windows update,问题就解决了。

    【讨论】:

      猜你喜欢
      • 2015-12-05
      • 2012-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多