首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF web服务的服务器端打印

WCF web服务的服务器端打印
EN

Stack Overflow用户
提问于 2018-07-17 13:50:53
回答 1查看 1.2K关注 0票数 0

我被困了一个多星期试图从WCF网络服务打印共享网络打印机。我在网上找不到任何解决方案。

因此,有一个VM Windows 2016 web服务器,IIS 10承载一个WCF web服务。该web服务应该能够在连接到网络中其他计算机的共享网络打印机上打印文档。该共享网络打印机安装在web服务器上,并从任何桌面应用程序中打印。但是,当我调用web服务方法打印某物时,它不会打印。

我尝试了我在网上找到的一切。我尝试为IIS应用程序池使用不同的帐户。当我使用任何内置帐户(LocalService、LocalSystem、NetworkService、ApplicationPoolIdentity)时,代码中没有列出打印机。当我使用本地管理帐户时,服务显示已安装的打印机,但我得到了错误:设置访问打印机是无效的。顺便说一句,我用这个帐户登录到服务器,可以用同一台打印机正常打印(例如,测试页面或从NotePad)。

我还尝试了微软的注册表攻击:http://support.microsoft.com/kb/184291/en-us

我试图模仿不同的用户,同时也避免冒充。

我还创建了一个用于打印的小型桌面应用程序,当我从命令提示符启动它时,它会很好地打印。但是,当我从服务开始相同的过程时,同样会出现前面提到的问题。

我甚至在不同的环境(不同的计算机,但相同的配置)中尝试了所有的东西,服务的行为也是一样的。

我不会在这里发布web服务C#代码,因为我确信代码不是问题所在。相同的代码在我的开发机器上打印得很好,在web服务器上的桌面应用程序中也是如此。问题在于web服务所使用的帐户的特权。

当然,所有用户都有权打印和管理打印机。

有可能从web服务打印吗?也许我是在尝试做一些不被推荐的或者不可能的事情?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-05 07:13:40

我只想结束这个问题,给出解决问题的办法。

经过数周的尝试,我放弃了让web服务调用本地打印机的尝试。求你了别去那儿。

该系统的最初架构是,桌面应用程序调用web服务具有许多不同的功能,其中包括打印文档。但是我不得不改变这一点,开发一个用于打印的小型控制台应用程序,这样这个桌面应用程序就不会使用web服务进行打印,而是调用带有参数的小型控制台应用程序。不太优雅,但很管用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51383169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档