【发布时间】:2010-12-09 14:30:30
【问题描述】:
我有一行代码可以作为服务的一部分在本地运行,效果非常好。
sReportPath = objCrystalUtils.ExportReportToPDF("Report Name", iReportInfoID)
此代码作为服务的一部分运行,当我通过提供数据对其进行单元测试时,它最终会构建报告并打印出来。
当我通过 ajax 调用在 .ashx 中运行完全相同的代码时。报告已生成(我可以看到正在磁盘上创建的 pdf 文件),但没有进行打印。
oRpt.PrintToPrinter(objReport.DefaultAutoPrint, True, 0, 0)
在这两种情况下,都使用相同的代码来打印报告。 (两种情况下 objReport.DefaultAutoPrint = 0)
我唯一的想法是调用此方法的代码的位置与账单本身的位置不同。
我要打印的打印机是安装在我的机器上的网络打印机,并且我运行的是 Windows 7 IIS 6.1
有什么想法吗?
编辑:
这是一个想法...如果我在本地运行一个单元测试,而我通过一个通过 IIS 运行的 Web 应用程序运行另一个,用户 ID 和用户对默认打印机的访问权限是否存在差异?
编辑:
所以我将我的本地 ASP、IUSR 和 SYSTEM 用户添加到打印机安全性中,并允许他们打印...没有骰子。所以我检查了每个用户,它被设置为访问并且没有用户被拒绝......所以我认为这有点扼杀了这种推理。
编辑:
我更改了这篇文章的名称,因为我不再认为该问题与 ajax 相关,因为如果我尝试在回帖后面的代码中执行相同的过程而不是从 ajax 调用中运行它,我仍然会得到相同的结果问题。
【问题讨论】:
标签: ajax crystal-reports