2011-09-21 82 views
1

我无法尝试使用RawPrinterHelper(由Microsoft开发的打印机支持类)从ASP.NET MVC3应用程序打印文档。我需要将RAW数据发送到本地连接到网络中的计算机的打印机。Rawprinterhelper网络打印机ASP.NET MVC

在我的开发环境(MS Visual Studio 2010)中,一切正常。我将打印机作为网络打印机安装在操作系统中,然后将该打印机的名称传递给RawPrinterHelper。 在真正的测试服务器上,事情根本不起作用。操作系统是Windows 7与IIS7。 事实上,我需要从运行在IIS上的应用程序使用安装在本地Windows7客户端上的网络打印机。 应用程序池标识设置为“网络服务”。 一切工作使用内置的Web服务器的Visual Studio 2010. 所有的打印机都经过测试和工作。 谢谢。

回答

1

我解决了这个问题。问题在于ASP.NET应用程序在IIS服务器上运行,并且无法访问网络打印机,但只能访问本地打印机。然后,Windows操作系统中的每个用户都只能访问他自己的网络打印机。 这个问题可以以这种方式来解决:

1)冒充与OS 2)授予用户特权使用数据库的用户的ASP.NET应用等 3)创建,记录在与该特定用户配置文件,网络打印机 4)准备好

为RawPrinterHelper提供字符串格式的正确名称非常重要。为此,请检查System.Drawing.Printing.PrinterSettings并获取已安装打印机的列表。