0

C# (.NET 4) を使用して、アプリの一部である Crystal RPT ファイルから PDF を生成して返します。断続的に動作しますが、PDF の生成が非常に遅くなります (まったく完了しない場合もあります)。以下のコードに関するアドバイスはありますか?

// POST: /API/GetReport
[HttpPost]
public ActionResult GetReport()
{
    BoolResponse response = new BoolResponse { };
    string evalID = Request["evalID"] ?? "";
    if (evalID != "" && UserCanViewEval(evalID)) {
        ReportClass rptH = new ReportClass();
        try
        {

            ParameterField paramField = new ParameterField();
            ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();
            ParameterValues paramValues = new ParameterValues();

            rptH.FileName = Server.MapPath("~/Content/Reports/Eval.rpt");
            rptH.Load();
            rptH.SetParameterValue("EvalID", evalID);

            Stream stream = rptH.ExportToStream(ExportFormatType.PortableDocFormat);
            stream.Seek(0, System.IO.SeekOrigin.Begin);

            return new FileStreamResult(stream, "application/pdf");
        }
        catch (Exception e)
        {
            response.errors = e.Message;
            return Json(response, JsonRequestBehavior.AllowGet);
        }
        finally {
            rptH.Close();
            rptH.Dispose();
        }
    }
    else {
        return View();
    }
}
4

1 に答える 1