2009-03-31 18 views
0

アプリの半分が古典的なaspで、半分がasp.netです。私は.NETの半分と共有する必要がある古典的なASPコードによって生成されるPDFファイル(メモリ内)があります。私はPDFをFSまたはDBに保存することを考えました。これはあなたの大部分が推奨していないと確信しています。なぜなら、非常に遅いIOに保存するプロセスを経なければならないからです。 - 不必要に多くのボトルネックと障害点が発生する。クラシックASP:PDFファイルの内容を.NETページに投稿

Server.TransferまたはMicrosoft.XMLHTTPオブジェクトを使用して、従来のaspページから.NETにポストを模倣すると考えましたが、実際にはクライアント側のURLが.NET aspxページ。そこで、従来のASPからPDFファイルが埋め込まれた.NETページにPOSTを簡単に作成する方法はありますか?

ご意見やご提案ありがとうございます。

答えて

1

ややハックのが、...

を使用すると、PDFファイルからデータを取り込むフィールドで従来のASPにフォームを作成します。フォームの動作はASP.NETページになります。次のようなものがあります。

<body onload="pdfsenderform.submit()"> 
    <form name="pdfsenderform" action="pdf.aspx" method="post"> 
     <input type="hidden" name="pdffiledata" value="<%...output your PDF data here...%>" /> 
    </form> 
</body> 

バイナリPDFデータをフォームフィールド(Base64など)に書き込む前にエンコードする必要があります。

+0

私はこのようにしてしまった。余分な帯域幅が必要ですがメンテナンスの頭痛は最小限に抑えられます。 – Haoest

+0

まあ、ディスクに書き込むのではなく、それをクライアントにラウンドトリップさせますか?私はそれが速くなる多くのシナリオを考えることができません.... –

+0

ええ、それはかなりだった... – squillman

0

おそらく、ASP.NETとASPのやりとりの難しさを考えれば、おそらくFSかDBでしょう。それが私の「最小抵抗の道」です。

0

ディスクに書き込んだり、ファイル名をクッキーまたはクエリ文字列に保存したり、ユーザーにResponse.Redirectを実行するだけです。 「十分に速い」可能性が高く、少なくとも共通の分母のState ServerをTCP経由で両方にアクセスできるよりも簡単に書くことができます。これは私が考えることができるメモリの唯一の方法です。

関連する問題