【发布时间】:2013-12-21 19:58:52
【问题描述】:
我们有一个自动打印服务作为系统帐户打印网页 URL 运行。 这个想法是使用WebBrowser 加载页面并在加载完成后调用Print。
这在 Server 2003 、 2008r2 等上运行良好,但仅当它作为服务运行时才在 Server 2012 上运行。作为控制台应用程序运行正常。
问题:
它可以很好地加载网页并调用 Print() , Print() 将返回,但默认打印机上不会打印任何内容:根本没有打印作业。
我认为这将是帐户问题,所以我尝试以相同的登录用户身份运行服务,但仍然无法正常工作,如果该用户将应用程序作为控制台应用程序运行,那么它会正常工作。因此默认打印机和用户帐户被排除在外。
我认为这不是代码问题(但肯定是这样),因为它适用于作为服务运行的旧 Windows 版本。
似乎服务器 2012 中的服务进程发生了一些根本性的变化。
更新1。 可能与How do I print an HTML document from a web service?有关
但是它在我之前的服务器 2012 上工作得很好。
更新 2. 即使整个打印发生在一个单独的进程中,它也不起作用,即我的服务启动了一个打印进程,它也不起作用。如果我在控制台模式下运行相同的代码,一切正常。这绝对不是线程问题,而是服务器 2012 中的问题。
现在的问题是:
改变了什么?为什么它停止工作?
【问题讨论】:
-
与论坛网站不同,我们不使用“谢谢”、“感谢任何帮助”或Stack Overflow 上的签名。请参阅“Should 'Hi', 'thanks,' taglines, and salutations be removed from posts?.
-
@JohnSaunders 感谢您让我知道下次我可以节省输入 6 个字符和您编辑它的时间。哦等等,这个“谢谢”在评论的顶部。
标签: c# printing windows-services windows-server-2012