以下是这种情况:我有一个ASP.NET Web Forms应用程序,它使用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 Update导致了类似的问题。我们的QA计算机是Azure VM,因此定期安装更新。导致此问题的更新是从2017年9月开始,在October 2017中修复了更新。所以我彻底解决了Windows更新导致的问题。
同样在引用的SO帖子中,OP建议仅在运行代码的帐户是系统帐户
时才会出现此问题如果在高权限SYSTEM帐户下运行(例如从任务计划程序),它只能起作用。
我也试过这个,让Task Scheduler运行示例控制台应用程序,但正如我上面提到的,它成功创建了图像。
所以在这个时刻,我几乎没有想法。
应该生成图像的应用程序代码是分散的,所以我不在这里分享它,但是如果有任何一件特别感兴趣的话可以发布。
任何想法可以在diff中导致这种不同的行为。环境?