在项目中需要生成pdf 格式的文档:
摘取部分代码
Dim resp As HttpResponse
Dim ms As New System.IO.MemoryStream
resp = HttpContext.Current.Response
/* wrTyouhyou 是 页面中使用的报表组件的实例 */
wrTyouhyou.Report.RenderToStream(ms, C1.Win.C1Report.FileFormatEnum.PDFEmbedFonts)
resp.Clear()
resp.ClearHeaders()
resp.ContentType = "application/pdf"
resp.AddHeader("Content-Disposition", "attachment;filename=" + fileName)
resp.BinaryWrite(ms.ToArray)
ms.Flush()
ms.Close()
/* 下面的这句会引发异常,也会导致本次 请求/响应 非正常终止,从而导致一些问题 */
resp.End()
代码的问题是: 请求/响应 非正常终止 的话,无法在request共享区中保存信息,如果后续操作依赖于这个文件下载操作的话,就无法获取文件下载操作的操作结果。