我正在使用以下代码从HTML生成PDF。
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;
}
}
这里当我在Local上运行它时它完美运行并且在服务器上我收到以下错误: “基础连接已关闭:连接意外关闭。”
我尝试了很多解决方案,使其在服务器上运行但没有运气。 我已尝试在IIS和配置中使用连接超时更新,这将无法正常工作。