2016-07-19 19 views
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"); 
} 
+1

だからあなたのクライアントコードが二度それを呼んでいますか?それを分かち合いたいですか? – Shyju

+0

この問題をテストするためにクライアントコードをすべて削除しました。これらは私が取っているステップです。 1.アプリケーションをローカルでデバッグモードで実行します。 2.すべてのタブを認証して閉じます。 3.新しいウィンドウ(開発者ツールが表示されたクロム)を開き、2回目の呼び出しを引き起こす可能性のあるJSがないことを確認します。 4.以下のURLを貼り付けます。 HTMLまたはビューを返さないことに注意してください。 PDFファイル自体をブラウザに直接戻しています。 – chesco

答えて

関連する問題