CreateMeasurementGraphics 问题

CreateMeasurementGraphics issue

在特定的 Web 服务器上,我使用默认打印机并使用它来创建用于打印的设备上下文;我在使用 CreateMeasurementGraphics.

时遇到以下问题

使用此代码(VB .NET 抱歉 :-( ):

Dim ps As PageSettings = GetPageSettings(parms)
Dim pr As PrinterSettings = GetPrinterSettings()
printerGraphics = pr.CreateMeasurementGraphics(ps)

我得到:

System.Reflection.TargetInvocationException: Eccezione generata dalla destinazione di una chiamata. ---> System.OutOfMemoryException: Memoria insufficiente. in System.Drawing.Graphics.FromHdcInternal(IntPtr hdc) in System.Drawing.Printing.PrinterSettings.CreateMeasurementGraphics(PageSettings pageSettings) in Sistemi.Builder.Tools.Printing.EmfDC.OnPageChanged(PrintPageParms parms)

(翻译过来就是OutOfMemory)

我检查过的内容:

我要疯了...

已解决;这是一个已知问题,由 64 位服务器启用 32 位在应用程序池模拟上的组合引起。

要解决此问题,必须删除应用程序池上的启用 32 位标志。

参考:https://blogs.msdn.microsoft.com/winsdk/2015/05/19/printing-successfully-using-impersonation-from-a-32-bit-application-on-a-64-bit-system/