1

我有一个包含 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 页面,我感到很困惑。

任何想法将不胜感激!

谢谢,

杰森

4

1 回答 1

0

共享变量绝对不是要走的路。我接手了一个使用该技术的项目,但在一个用户获取另一个用户数据方面存在大量问题。您应该使用 Session,这本身就是一个问题。

一个建议是,我使用一个键将字节数据保存到数据库中,并将该键与查询字符串一起传递给 URL 中的 iframe。在这种情况下,您应该有办法在它占用太多空间之前从数据库中清除过去的记录。根据此 PDF 文档是否应该是安全的,这将打开,以便人们摆弄查询字符串时可以访问该 PDF。

另一个建议,将其作为 B64 编码的 POST 数据传递。这是几个建议。

于 2011-06-21T21:18:37.103 回答