为什么我不能使用NetworkService帐户从Windows服务打印图表?

时间:2010-01-03 18:20:38

标签: c# windows-services printing permissions

我有一个C#windows服务,该服务在 NetworkService 帐户下运行。它偶尔需要打印一个Chart对象,我只需要调用:

chart.Printing.Print(false); // suppress the Printer Dialog

奇怪的是它似乎可以作为控制台应用程序运行。

唯一可行的方法是在本地管理员帐户下运行服务。

1 个答案:

答案 0 :(得分:3)

您可能需要为System.Drawing.Printing.PrintingPermission授予访问权限。阅读the documentation,您会发现以下内容:

  

中的类   System.Drawing.Printing命名空间是   不支持在Windows中使用   服务或ASP.NET应用程序或   服务。试图使用这些   来自其中一个的课程   应用类型可能会产生   意想不到的问题,比如   服务绩效下降   运行时异常。