在app pool模拟域用户帐户下运行的WCF服务打印到网络打印机的一个域帐户,但不打印另一个

时间:2018-05-25 19:05:19

标签: c# wcf iis printing servermanager

我正在使用Windows Server 2016.在Windows 10计算机上运行。

我们有一位最近离开公司的系统管理员。他设置了Web服务器,所以我有权使用它等等。如果我在运行我的WCF服务的应用程序池上模拟我自己的域帐户,该服务可以成功打印到网络打印机。

我有一个同事创建了一个新的域帐户,其目的是用于模拟应用程序池,以便wcf服务可以打印到网络打印机,以防我离开公司。我们将新域用户添加到打印机并授予其权限,当应用程序池在此新域用户下运行时,我可以看到作业已发送到打印机但它不打印。如果我将应用程序池切换回我的域帐户下运行它打印正常。我发现的唯一不同的是服务器管理器 - >打印管理 - >打印服务器 - >打印机 - >所需的打印机,我的域帐户列在具有特殊权限的打印机的高级安全设置下,但未列出新的域帐户。我没有添加新域帐户的权限。

这使用System.Drawing.Printing.PrintDocument.Print()并且在打印调用上不会发生异常,它会挂起几秒钟,作业会显示在打印队列中并快速消失而不会打印。

我只是想知道这最后一篇文章是否是WCF服务无法打印的原因?

1 个答案:

答案 0 :(得分:0)

因此,在与IT部门的另一个人合作之后,我发现这不起作用的原因是因为服务器尚未设置为打印服务器,因此在将其添加到Web服务器后,它能够发送和打印。

当它在我下面运行时,它将打印作业重定向到我的本地计算机,这就是它能够打印的原因。