1

iframe を格納する aspx ページがあります。ボタンがクリックされると、WCF が呼び出されてバイト配列に読み込まれる 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

共有変数は間違いなく道ではありません。私はその手法を使用するプロジェクトを引き継ぎましたが、あるユーザーが別のユーザーのデータを取得する際に多くの問題が発生しました。それ自体が問題になる可能性があるセッションを使用する必要があります。

キーを使用してバイトデータをデータベースに保存し、そのキーをクエリ文字列を使用して URL 内の iframe に渡すことを使用した 1 つの提案。その場合、データベースがスペースを占有しすぎる前に、データベースから過去のレコードを消去する方法が必要です。この PDF ドキュメントが安全であると想定されているかどうかに応じて、これが開き、クエリ文字列をいじる人々が PDF にアクセスできるようになります。

B64でエンコードされたPOSTデータとして渡す別の提案。これらはいくつかの提案です。

于 2011-06-21T21:18:37.103 に答える