PrinterSettings.InstalledPrinters没有网络打印机

时间:2011-10-18 15:44:58

标签: c# asp.net wcf

net 2.0

 System.Drawing.Printing.PrinterSettings.InstalledPrinters

作为获取网络打印机列表的服务 但它只能获得本地打印机。我在谷歌上搜索了一些关于使用aspnet_wp建议配置权限的文章

我只是想知道如何做到这一点

1 个答案:

答案 0 :(得分:4)

您可以尝试以下

<强> 1。更改ASP.NET运行的帐户。

IIS工作进程作为网络服务运行,ASP.NET工作进程默认运行为ASPNET。因此,要访问已安装的打印机,您必须将其更改为在本地系统帐户下运行。

<强> 2。您可以冒充asp.net网站

当IIS工作进程或ASP.NET辅助进程启动Web应用程序时,如果禁用模拟,Web应用程序将继承进程的标识。 (模拟是允许线程在其进程的不同帐户下运行的过程。)但是,如果启用了模拟,则每个Web应用程序都在IIS验证的用户帐户或Web中配置的用户帐户下运行.config文件。可以在Web.config中以下两种方式之一启用模拟:

<identity impersonate="true"/>

这允许Web应用程序使用IIS验证的身份运行。

<identity impersonate="true" userName="SomeUserAccount" password="SomePassword"/>

这允许Web应用程序使用特定标识运行。

如果您的网络打印机位于my printers,那么它将显示在Installed printers

Reference link