Генерация 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. Пожалуйста, помогите мне исправить эту ошибку и исправить меня правильным способом использования ротативы в асинхронном методе, если я ошибаюсь. Спасибо и всего наилучшего, Виджу