chart.Printing.Print(false);
bool finished = false;
while (!finished)
{
finished = File.Exists(settings.GetValue("statusfile"));
System.Threading.Thread.Sleep(1000);
}
在这一点上,页面只是冻结(或者继续无休止地加载-无限循环!)这是可以理解的,因为我100%地依赖于正在打印的文档。我确实想增加一个超时,但是,现在我只是想弄清楚为什么文档从来没有被设置到打印机上!
我已经给了这个帐户(应用程序池是在这个帐户下运行的)对所有相关文件夹,甚至是pdf打印机本身的权限…仍然什么也没有。
我错过什么了吗?在服务器端通过打印是否有任何问题ASP.NET?我在过去通过WindowsServices执行此操作时遇到了一些问题,不确定是否与ASP.NET网站。
更新
正如建议的那样,我更新了AppPool以给自己(管理员)权限,这是同一个问题。所以从外观上看,作业永远不会被发送到打印机。我似乎不明白为什么。。。
可能应该在我最初的帖子中提到这一点……但是我是通过一个引用的DLL调用打印机的,这段代码并不是直接从我的应用程序中调用的(如果有关系的话)。在我的开发机器上运行得很好,它运行的是windows7iis7.0,服务器运行的是windows2003server和IIS6.0。
更新2
当我离开循环的时候
chart.Printing.Print(false)
是
正在发送到打印机。所以问题一定是设置文件没有被写入,这就是为什么循环永远不会发生!