为什么我的控制器动作被调用两次?

时间:2016-07-19 22:54:38

标签: asp.net asp.net-mvc

我有此控制器操作(请参见下文),它返回PDF报告/文件。我正在使用下面的本地网址来调用此特定操作。

http://localhost:35201/Reports/TimeCards/f6c17d29-93fa-4a34-9aa5-d95371253d0d

由于某种原因,该动作被调用两次。加倍服务器上的资源消耗。在客户端,我看到有两个关于chrome开发人员工具的调用。第一个呼叫以200结束,并立即进行另一个呼叫并标记为已取消,但在第二次呼叫时,PDF渲染仍然在服务器上发生。

我想取消第二次保存资源的电话。有没有人经历类似的事情?我将不胜感激任何帮助。

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 个答案:

答案 0 :(得分:2)

在Chrome中看起来像是一个问题:https://bugs.chromium.org/p/chromium/issues/detail?id=587709