C# 如何在iis8 c web api应用程序中找到所有网络打印机?
托管在IIS 8上的C应用程序找不到已安装的网络打印机。当我在笔记本电脑上运行应用程序时,它们会返回我安装的所有网络打印机 我试过了 将应用程序池标识更改为具有打印权限的用户。 使用指向网络打印机的指针创建本地打印机。 我的代码 列表可用Inter=新列表; var printerQuery=new ManagementObjectSearcherSELECT*来自Win32_打印机,其中网络='True'; printerQuery.Get中的foreach var打印机 { var Name=printer.GetPropertyValueShareName.ToString; var IP=printer.GetPropertyValuePortName.ToString; 可用打印机。添加新的网络打印机 { IP=IP, Name=Name, } ; } 返回有效时间间隔;C# 如何在iis8 c web api应用程序中找到所有网络打印机?,c#,iis-8,network-printers,C#,Iis 8,Network Printers,托管在IIS 8上的C应用程序找不到已安装的网络打印机。当我在笔记本电脑上运行应用程序时,它们会返回我安装的所有网络打印机 我试过了 将应用程序池标识更改为具有打印权限的用户。 使用指向网络打印机的指针创建本地打印机。 我的代码 列表可用Inter=新列表; var printerQuery=new ManagementObjectSearcherSELECT*来自Win32_打印机,其中网络='True'; printerQuery.Get中的foreach var打印机 { var Name
我在IIS中尝试了您的代码,可以检测到所有已安装的网络打印机。那么,您是否尝试在IIS端运行相同的代码?你在同一台服务器上得到同样的结果了吗?如果没有,建议捕获第一次机会异常转储以检查那里发生了什么。是的,在iis之外,我获得所有打印机。问题是我没有例外。查询结果为空:/i当我从iis请求本地打印机时,只得到一个名为Microsoft XPS Document Writer的打印机。您是否尝试将应用程序池标识切换到LocalSystem?在IIS中查询win32_printer类时,似乎存在一些隔离。此外,您是否尝试过为这个web应用程序做一个自宿主?