У меня есть простой статический класс, подобный этому
public static class pdfDataSingle
{
public static PdfData pdf { get; private set; }
public static void SetData(PdfData data)
{
pdf = data;
}
}
Сначала я установил класс таким образом в контроллере MVC
pdfDataSingle.SetData(pdfData);
Я подтвердил, что все данные есть..
Затем мне нужно получить байты из результата действия, поэтому сначала я вызываю
pdf.Add(CreateCertificatePart(CertificatePart.NewStatementOfFact));
Итак, это выглядит следующим образом ..
private byte[] CreateCertificatePart(CertificatePart part)
{
var customSwitches = string.Format(
"--print-media-type " +
"--margin-top 10mm " +
"--margin-bottom 10mm " +
"--margin-left 10mm " +
"--margin-right 10mm " +
"--encoding utf-8 " +
"--minimum-font-size 11 " +
"--zoom 1.0 " +
"--disable-smart-shrinking"
);
var pdfResult = new ActionAsPdf(part.ToString()) { CustomSwitches = customSwitches };
var pdfBytes = pdfResult.BuildFile(ControllerContext);
return pdfBytes;
}
Действиевызываемый метод выглядит следующим образом ... но статические данные pdfDataSingle равны нулю!
public ActionResult NewStatementOfFact()
{
try
{
AppInsightLog.LogInfo(pdfDataSingle.pdf.Schedule.PolicyNumber, "NewStatementOfFact");
return View("StatementOfFact", pdfDataSingle.pdf.Schedule);
}
catch (Exception ex)
{
//AppInsightLog.LogError(ex, quoteReference);
return new HttpStatusCodeResult(400, "NewStatementOfFact");
}
}
Это работает нормально, когда я запускаю его локально .. результаты действия видят данные в статическом классе (объявленном внемой контроллер), но когда они публикуются в Azure, они не .. кто-нибудь имеет представление, почему это может быть?
Спасибо