私は、PDFレポートを作成する必要があるASP.NET MVCアプリケーションに取り組んでいます。バックエンドでのこれらのPDFレポートの生成には長い時間がかかります(30秒以上)。当社は、30秒以上かかるすべてのHTTPリクエストをタイムアウトさせるsquidというプロキシを使用しています。サーバーに作成するのに長い時間がかかるファイルをダウンロードする最良の方法
のため、リンクまたはget要求を介して直接pdfレポートを要求するとタイムアウトになります。
どうすればこの問題を回避できますか?ファイルを非同期に配信する方法はありますか?または、クライアントがファイルを要求し、定期的にサーバーをポーリングしてファイルが生成されているかどうかを確認し、準備ができたらダウンロードを再度要求するような、より精巧なプロトコルを使用する必要がありますか?
ajaxは非同期です。 – madalinivascu
私が知る限り、ajax経由でファイルを非同期にダウンロードすることはできません。 –
あなたは私がそれを同期的に行うファイルをダウンロードすると、それはサーバーが他のユーザーにページを送信するのをブロックするということを意味するでしょうか? – madalinivascu