Генерация PDF с использованием Rotativa On Web API в асинхронном методе

Я получаю "Ссылка на объект не установлена ​​на экземпляр объекта". при генерации PDf с использованием Rotativa, вызывающего асинхронно. Однако это работает нормально, когда вызов синхронно. Пожалуйста, найдите ниже код:

    var context = new HttpContext(new HttpRequest(null, "http://google.com", null), new HttpResponse(null));
            var contextBase = new HttpContextWrapper(context);
            var routeData = new System.Web.Routing.RouteData();
            routeData.Values.Add("controller", "ReportManager");
            var fakeControllerContext = new System.Web.Mvc.ControllerContext(contextBase,
                routeData, new EmptyController());



            Margins pageMargin = null;
            string filePath = Path.Combine(System.Web.Hosting.HostingEnvironment.MapPath("/Reports"), fileName);

            var responseActionResult = new ViewAsPdf(viewName, reportData)
            {
                FileName = fileName + ".pdf",
                IsJavaScriptDisabled = false,
                //    CustomSwitches = GetCustomSwitches(reportData.ClientId, viewName, ref pageMargin),
                PageOrientation = Rotativa.Options.Orientation.Portrait,
                PageSize = Rotativa.Options.Size.A4,
                PageMargins = pageMargin,
            };
            {
            };

            var ReportByteArray = responseActionResult.BuildPdf(fakeControllerContext);
            using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write))
            {
                fileStream.Write(ReportByteArray, 0, ReportByteArray.Length);
            }
            result = true;

Произошла ошибка при вызове метода BuildPdf. Пожалуйста, помогите мне исправить эту ошибку и исправить меня правильным способом использования ротативы в асинхронном методе, если я ошибаюсь. Спасибо и всего наилучшего, Виджу

0 ответов

Другие вопросы по тегам