列表标签 Web 报告:Export/Printing 在 IIS 服务器上不起作用

List&Label Webreporting: Export/Printing does not work on IIS Server

您好,在此先感谢您的帮助,

我正在尝试通过 JQuery/Ajax post 一个 JSON-Object 到 ASP.Net MVC-Server。 Controller 方法应该采用 JSON 输入并将其用作 List&Label 22 的 DataProvider。然后应生成报告并将其作为 PDF 文件提供给用户以供下载。 因为我希望 JSON 对象的结构是通用的,所以我不想在 ASP.Net 中为此请求创建特定模型,而是将 JSON 对象作为string(我知道我可能 运行 受到一些大小限制,但我稍后会担心 :))。

这是我的 POST 请求:

<script>

function getReport() {
    //dummy data
    data = { JsonVariable1: 1, JsonVariable2: "JsonVariable2" };
    var dataSource = JSON.stringify(data);

    $.ajax({
        type: "POST",
        dataType: "text",
        url: "@Url.Action("/JsonTest")",
        data: "aDataSource=" + dataSource,
        async: false,
        success: function (result) {
            alert('Success!');
        }
    });
}

这是控制器方法:

[HttpPost]
public ActionResult JsonTest(string aDataSource) {

    combit.ListLabel22.ListLabel vLL = new combit.ListLabel22.ListLabel();
    JsonDataProvider vJsonProvider = new JsonDataProvider(aDataSource);

    vLL.FileRepository = GetCurrentRepository();
    vLL.AutoProjectFile = mReportRepositoryId;
    vLL.DataSource = vJsonProvider;
    vLL.ExportOptions.Add(LlExportOption.ExportTarget, "PDF");
    vLL.Print();    //This causes problem on published server

    return Json("Success");
}

本地,即在我的 Visual Studio (2015) 开发环境中,这工作正常。但是,当我将代码发布到我的 IIS 服务器时,POST-请求不会终止。我找到了这条线

vLL.Print();

成为问题所在。如果我注释掉这一行,请求将按预期终止。此行生成报告并将其导出为 PDF 文件,该 PDF 文件将作为下载提供给用户。
我在机器 运行ning Windows Server 2012 R2 上使用 IIS 8.5 和 .NET-Framework 4.5。打印机驱动程序已安装,常规的列表和标签功能正在运行(例如启动网页设计器、通过 HTML 预览报告等)。

有谁知道我在这里遗漏了什么?我不是网络开发人员,我也可能忘记调整 IIS 服务器上的一些配置。

谢谢!

仅调用 Print 方法是不够的,因为您需要告诉 List & Label 在何处生成报告。我宁愿以这种方式使用 Export 方法(因为它连接了许多方便的东西,例如使文件对话框静音):

string reportResult = "Report." + Guid.NewGuid() + ".pdf";
string outputFile =  Server.MapPath("~/exports/") + reportResult;
ExportConfiguration exportConfiguration = new ExportConfiguration(LlExportTarget.Pdf, outputFile, mReportRepositoryId);
vLL.Export(exportConfiguration);

然后您应该可以在服务器上 Web 应用程序的 "exports" 路径中找到您的 PDF。要解决此类问题,您可以使用提供的调试工具 Debwin4。它会向您显示对 API 的所有调用以及缺少选项或输入的提示。