Проблема при преобразовании HTML в PDF только на сервере, Itextsharp, C#

Я использую следующий код для создания PDF из HTML.

 public byte[] GetPDF(StringBuilder pHTML)
    {
        try
        {
            MyError.LogSystemError("In GET PDF", (new System.IO.FileInfo(Request.Url.AbsolutePath)).Name, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name, Session["UserID"].ToString(), Request.UserHostAddress.ToString());
            byte[] bPDF = null;

            StringReader sr = new StringReader(pHTML.ToString());

            Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
            HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
            using (MemoryStream memoryStream = new MemoryStream())
            {
                PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
                pdfDoc.Open();
                MyError.LogSystemError("Before Parse", (new System.IO.FileInfo(Request.Url.AbsolutePath)).Name, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name, Session["UserID"].ToString(), Request.UserHostAddress.ToString());
                htmlparser.Parse(sr);
                MyError.LogSystemError("After Parse", (new System.IO.FileInfo(Request.Url.AbsolutePath)).Name, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name, Session["UserID"].ToString(), Request.UserHostAddress.ToString());
                pdfDoc.Close();

                bPDF = memoryStream.ToArray();
                memoryStream.Close();
            }
            return bPDF;
        }
        catch (Exception ex)
        {
            MyError.LogSystemError(ex, (new System.IO.FileInfo(Request.Url.AbsolutePath)).Name, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name, Session["UserID"].ToString(), Request.UserHostAddress.ToString());
            return null;
        }
    }

Здесь, когда я запускаю это на локальном компьютере, он работает отлично, и на сервере я получаю следующую ошибку: "Базовое соединение было закрыто: соединение было неожиданно закрыто".

Я пробовал так много решений, чтобы он работал на сервере, но не повезло. Я пытался с обновлением тайм-аута подключения в IIS, а также конфигурации, это не будет работать.

0 ответов

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