Web Service为什么取不到网络打印机?

DotNetNewComer 2009-01-21 10:37:41
用.net写了个获取本地安装的所有打印机的Web Service,发布到IIS以后只能取到自己机器上的打印机,但取不到网络打印机。
取打印机的方法 直接运行的时候是能取到所有打印机的,发布到IIS以后就没有网络打印机了。
尝试把asp.net和IIS的用户都升到Admin组,还是老样子。

有谁知道怎么通过Web Service取得网络打印机么?
...全文
183 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
DotNetNewComer 2009-01-22
  • 打赏
  • 举报
回复
可以取到了,非常感谢!
archu 2009-01-21
  • 打赏
  • 举报
回复
对了,补充一下:
如果这个账号不是管理员账号的话,你还需要把它加入到IIS_WPG组,否则很有可能会遇到权限问题,如:service unavailable
关于IIS6的默认权限,请参考:http://support.microsoft.com/kb/812614
archu 2009-01-21
  • 打赏
  • 举报
回复
经过测试,你需要把AppPool的identity改成你直接运行的时候登录到windows的用户。
默认情况下,这个identity是"Network Service"账号,它没有访问网络打印机的权限。
DotNetNewComer 2009-01-21
  • 打赏
  • 举报
回复
方法一:

Dim name As String = "Select * from Win32_Printer"
Dim query As ManagementObjectSearcher
Dim queryCollection As ManagementObjectCollection

query = New ManagementObjectSearcher(name)
queryCollection = query.Get()


方法二:

Dim printdoc As New PrintDocument
Dim printCollection As PrinterSettings.StringCollection = PrinterSettings.InstalledPrinters

2种方法结果都一样。

IIS版本是6.0
asp.net版本2.0
archu 2009-01-21
  • 打赏
  • 举报
回复
1、把你取打印机的代码贴出来
2、IIS版本多少?

8,327

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 IIS
社区管理员
  • IIS
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧