6

每当程序到达以下代码时,程序就会挂起

protected void InitCrystalReport(String _reportUrl)
{
    myReportDocument.Load(_reportUrl);
}

这种情况只发生在我将 web 放在 IIS(另一台服务器)上时,但当我在 Visual Studio(调试模式)上运行应用程序时它不存在。我还使用进程监视器来监视进程以查看文件是否被拒绝访问。

我在下面的 Web 服务器上尝试过,但它们都不起作用:

  1. 将应用程序池更改为 .NET Classic
  2. 重新启动打印机后台处理程序

编辑
我重新启动了服务器,现在一切正常

4

2 回答 2

3

当我将新报告移动到测试服务器时,我遇到了这个问题。我的解决方法是通过 File.. Print.. 将特定打印机设置为我知道在服务器上的打印机(在本例中为 MS XPS Document Writer)。完成后,确保您在对象上使用了 .dispose 等。

于 2014-01-15T14:32:49.980 回答
1

虽然这是已经回答的老问题,但我也遇到了同样的问题,在浪费了一整天之后,我从@PhilKemreen 的答案中得到了建议。这是我在我的情况下修复它的方法:

  1. 在 Crystal Report Designer 中打开报表并右键单击
  2. 选择“设计” > “页面设置... ”,出现“页面设置”对话框。
  3. 从打印机下拉列表中,选择Microsoft XPS Document Writer
  4. 单击确定。

然后我在服务器上部署了新的报告文件,它可以工作。

于 2017-01-05T06:48:58.817 回答