情况如下:我有一个WPF应用程序,它使用ASP.NET控件进行报告。
流程如下: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 2008 R2)上,它就会生成空映像。
我试图简化报告页,只在WPF控件中保留静态文本,仍然得到空页。
我创建了示例控制台应用程序,它模拟将部分数据绑定到WPF (授予静态数据),并从WPF控件生成映像&它在这两种环境中都能工作。我能想到的一个不同之处是,控制台应用程序没有以IIS' AppPoolIdentity的形式运行,后者在QA机器上运行Web。
我偶然发现了这是如此的帖子,这意味着有一个Windows导致了类似的问题。我们的QA机器是Azure VM,因此定期安装更新。导致这一问题的更新是从2017年9月开始,在2017年10月中进行修复更新。因此,我将导致问题的窗口更新排除在外。
在引用的SO post中,OP还建议,只有运行代码的帐户是系统帐户时才会发生此问题。
只有在高权限系统帐户下运行(例如任务调度程序)时,它才不能工作。
我也尝试过这样做,让Task运行示例控制台应用程序,但正如我前面提到的,它成功地创建了映像。
所以在这一刻,我几乎没有想法了。
应该生成图像的应用程序代码是分散的,所以我在这里不共享它,但是如果有任何部分特别感兴趣的话,我很乐意发布。
你知道是什么导致了这种不同的行为。环境?
发布于 2018-03-20 14:04:40
事实证明,排除缺少Windows并不是正确的做法。最后,我安装了修正窗口更新并解决了问题。
https://stackoverflow.com/questions/49369283
复制相似问题