在服务器上启用模拟时 Rotativa 不工作

Rotativa not working when impersonate enabled on server

我正在使用 Rotativa 从视图生成 PDF。它在我的本地主机上工作,但是当我推送到我的服务器时它根本不起作用。服务器启用了 Windows 身份验证和模拟,我需要为此站点启用。

这是我尝试 运行 服务器上的代码

时遇到的错误

Qt: Could not initialize OLE (error 80070005) Error: Failed loading page https://api.mydomain.com/Reports/RedBluePDF?community=CommunityName&procedure=GetTasks (sometimes it will work just to ignore this error with --load-error-handling ignore) Exit with code 1 due to http error: 1003

这是我的代码:

public byte[] getReportsPDF(string community, string procedure)
        {

            byte[] pdfBytes = new byte[] { };

            RouteData route = new RouteData();
            route.Values.Add("controller", "SiteSuperReports");
            route.Values.Add("action", "RedBluePDF");

            this.ControllerContext = new ControllerContext(new HttpContextWrapper(System.Web.HttpContext.Current), route, this);

            if (procedure == "GetProductionTasks")
            {

                var actionPDF = new Rotativa.ActionAsPdf("RedBluePDF", new { community = community, procedure = procedure })
                {
                    PageSize = Size.A4,
                    PageOrientation = Rotativa.Options.Orientation.Landscape,
                    PageMargins = { Left = 1, Right = 1 }
                };

                try
                {
                    pdfBytes = actionPDF.BuildFile(ControllerContext);
                }
                catch(Exception e)
                {
                    Console.Write(e.Message.ToString());
                }
            }

            return pdfBytes;
        }

这里是 RedBluePDF 方法,这只是 returns 一个视图:

public ActionResult RedBluePDF(string community, string procedure) {
     return View();
}

我做错了什么,为什么这在我的服务器上不起作用,但在我的本地主机上却起作用?以及如何让它在我的服务器上运行。

尝试以下解决方案之一:

1- 转到 IIS > 站点 > 身份验证,单击 "ASP.NET Impersonation" 并禁用它。

2- 如果您要调用脚本或文件或其他任何内容,请指定使用的协议:

src="//api.mydomain.com/?????

至:

src="http://api.mydomain.com/?????

3- 在您的应用程序池配置中,在进程模型下,有一个选项 "Load User Profile"。默认为False,设置为true。