使用 Web 服务在服务器中打印时出错
Error when printing in server with web service
我的网络服务使用 C# 从服务器打印机打印发票。在调试模式下调用此服务时工作正常,但在将其发送到 IIS 位置并从 Web 资源管理器 运行 项目后,我收到此错误:
No printers are installed.
System.Drawing.Printing.PrinterSettings.GetHdevmodeInternal(String printer) at
System.Drawing.Printing.PrinterSettings.GetHdevmodeInternal() at
System.Drawing.Printing.PrinterSettings.GetHdevmode(PageSettings
pageSettings) at
CrystalDecisions.CrystalReports.Engine.PrintOptions.CopyTo(PrinterSettings
printer, PageSettings page)
问题是什么?同一台机器在 debug 模式下可以正常运行,但在 live 模式下不能正常运行。
这段代码抛出异常:
reportClass.PrintOptions.PrinterName = clsDeclaration.defultPrinter1;
reportClass.PrintToPrinter(numberOfCopies, true, 1, 1);
我得到了解决方案
它在开发机器上工作的原因是开发 Web 服务在您 windows 登录的上下文中是 运行,它可能设置了正确的打印机。在服务器上,它可能是 运行 作为网络服务或本地系统帐户。
解决方案是使用以下说明为系统帐户设置打印机。您还需要更改应用程序正在使用的应用程序池的标识以使用 LocalSystem 标识。
我的网络服务使用 C# 从服务器打印机打印发票。在调试模式下调用此服务时工作正常,但在将其发送到 IIS 位置并从 Web 资源管理器 运行 项目后,我收到此错误:
No printers are installed.
System.Drawing.Printing.PrinterSettings.GetHdevmodeInternal(String printer) at System.Drawing.Printing.PrinterSettings.GetHdevmodeInternal() at System.Drawing.Printing.PrinterSettings.GetHdevmode(PageSettings pageSettings) at CrystalDecisions.CrystalReports.Engine.PrintOptions.CopyTo(PrinterSettings printer, PageSettings page)
问题是什么?同一台机器在 debug 模式下可以正常运行,但在 live 模式下不能正常运行。
这段代码抛出异常:
reportClass.PrintOptions.PrinterName = clsDeclaration.defultPrinter1;
reportClass.PrintToPrinter(numberOfCopies, true, 1, 1);
我得到了解决方案
它在开发机器上工作的原因是开发 Web 服务在您 windows 登录的上下文中是 运行,它可能设置了正确的打印机。在服务器上,它可能是 运行 作为网络服务或本地系统帐户。
解决方案是使用以下说明为系统帐户设置打印机。您还需要更改应用程序正在使用的应用程序池的标识以使用 LocalSystem 标识。