1

在我的 ASP.NET 项目中,我有一个表单,它通过 POST 将数据发送到如下所示的方法:

[HttpPost]
public IActionResult PerformanceControl(int id, string button, ShowPerformanceControlViewModel viewModel)
{
     //some logic
     return RedirectToAction("PerformanceControl");
}

逻辑运行后,它应该重定向到以下操作:

[HttpGet]
public IActionResult PerformanceControl(int id)
{
     //some logic
     return View(model);
}

我的问题是 RedirectToAction 突然停止工作,即使重定向之前已经工作了 100 次。我正在使用 Windows Server 2012 和 IIS8。该站点的其余站点仍然工作,它只有这个控制器突然 RedirectToAction 停止工作。对于 PerformanceControl 的 GET 请求,我只得到 404。

更新:

今天我发现了为什么它不起作用。停止工作的功能取决于托管在同一台机器上的外部。该服务停止接受请求,并且由于控制器中没有错误处理,因此只会触发异常并且永远不会执行 RedirectToAction。外部服务日志“Connection_Dropped_List_Full DefaultAppPool”是否可以在 IIS 上刷新或重置此列表?

4

1 回答 1

0

这可能是由于 RedirectToAction 需要传递 Id。尝试这个:

return RedirectToAction("PerformanceControl", new { Id = id });
于 2018-06-20T20:28:36.377 回答