0
私はPDFのレポート/ファイルを返すこのコントローラアクション(下記参照)を持っています。私はこの特定のアクションを呼び出すために、以下のローカルURLを使用しています。何らかの理由でコントローラの動作が2回呼び出されるのはなぜですか?
http://localhost:35201/Reports/TimeCards/f6c17d29-93fa-4a34-9aa5-d95371253d0d
、アクションは二回呼び出されています。サーバー上のリソース消費を2倍にします。クライアント側では、クローム開発ツールに2つの呼び出しがあります。最初の通話は200で終了し、直ちに別の通話が行われ、取り消されたとしてマークされますが、PDFレンダリングは2回目の通話でサーバー上で行われます。
リソースを保存するための2回目の呼び出しを削除したいと思います。誰かが似たようなものを経験しましたか?助けていただければ幸いです。
public ActionResult TimeCards(Guid id)
{
//id = BatchId
//init variables
string sigFile = string.Empty;
Guid company = GetCompanyId();
//get PayrollBatch record
PayrollBatch batch = this.payrollService.GetBatch(id);
//render report this returns a pdf file
byte[] renderedBytes = this.reportService.ProcessTimeCardReport(id, company, this);
return File(renderedBytes, "application/pdf");
}
だからあなたのクライアントコードが二度それを呼んでいますか?それを分かち合いたいですか? – Shyju
この問題をテストするためにクライアントコードをすべて削除しました。これらは私が取っているステップです。 1.アプリケーションをローカルでデバッグモードで実行します。 2.すべてのタブを認証して閉じます。 3.新しいウィンドウ(開発者ツールが表示されたクロム)を開き、2回目の呼び出しを引き起こす可能性のあるJSがないことを確認します。 4.以下のURLを貼り付けます。 HTMLまたはビューを返さないことに注意してください。 PDFファイル自体をブラウザに直接戻しています。 – chesco