我在尝试使用RawPrinterHelper (微软开发的打印机支持类)从ASP.NET MVC3应用程序打印文档时遇到问题。我需要将原始数据发送到打印机,该打印机本地连接到网络中的计算机。
在我的开发环境(MS Visual Studio2010)中,一切工作正常。我将打印机作为网络打印机安装在我的操作系统中,并将该打印机的名称传递给RawPrinterHelper。在真正的测试服务器上,事情根本不起作用。操作系统是装有IIS7的Windows7。实际上,我需要从运行在IIS上的应用程序使用安装在本地Windows7客户端上的网络打印机。应用程序池标识被设置为“网络服务”。使用Visual Studio 2010的内置web服务器,一切都能正常工作。所有的打印机都经过测试并且工作正常。谢谢。
发布于 2011-09-23 17:44:00
我解决了这个问题。问题是ASP.NET应用程序在IIS服务器上运行,它不能访问网络打印机,只能访问本地打印机。这样,Windows操作系统中的每个用户都只能访问自己的网络打印机。这个问题可以这样解决:
1)使用OS的用户模拟ASP.NET应用程序2)授予用户使用数据库等的权限3)使用该特定用户配置文件创建、登录,您的网络打印机4)准备就绪
以字符串格式为RawPrinterHelper提供正确的名称是非常重要的。为此,请检查System.Drawing.Printing.PrinterSettings并获取已安装打印机的列表。
https://stackoverflow.com/questions/7502350
复制相似问题