我有一个包含iframe的aspx页面。单击按钮时,将调用WCF以生成PDF,该PDF将读入字节数组。我 将字节数组存储在Globals.vb文件中,如下所示:
Public Shared PDF_Data as Byte()
全局是从父aspx页面加载的,如下所示:
PDF_Data = MyWCF.Create_PDF_File(SomeVariable)
之后,iFrame的src被设置为一个空白的aspx页面,在page_load事件中有以下代码:
'Write the PDF binary data to the screen (viewer)
Response.Clear()
Response.Buffer = True
Response.ContentType = "application/pdf"
Response.BinaryWrite(Globals.PDF_Data.ToArray)
然而,我意识到这个应用程序将有几个用户将获得不同的PDF文档,我已经知道这不是可行的方法。我的共享变量可供所有用户访问,这是一个很大的禁忌。
但是,我很难知道我将如何存储字节数组,并使其可以从父节点的子aspx页面中使用。
任何想法都将不胜感激!
谢谢,
杰森
答案 0 :(得分:0)
共享变量绝对不是要走的路。我接手了一个使用该技术的项目,一个用户获得另一个用户数据时出现了大量问题。您应该使用Session,这本身就是一个问题。
一个建议是我使用密钥将字节数据保存到数据库,并使用查询字符串将该密钥传递给URL中的iframe。在这种情况下,您应该有机会在占用太多空间之前清除db中的过去记录。根据此PDF文档是否应该是安全的,这将打开,以便人们可以使用查询字符串访问PDF。
另一个建议,将其作为B64编码的POST数据传递。这些是一些建议。