在我的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);
}
我的问题是,即使重定向之前已经进行了100次,RedirectToAction也会突然停止工作。我正在使用Windows Server 2012和IIS8。 该站点的其余站点仍仅在此控制器上正常工作,其中RedirectToAction突然停止工作。我只收到404的PerformanceControl GET请求。
更新:
今天我发现了为什么它不起作用。停止工作的功能取决于同一台计算机上托管的外部设备。该服务停止接受请求,并且由于控制器中没有错误处理,只会触发异常,并且永远不会执行RedirectToAction。外部服务日志“ Connection_Dropped_List_Full DefaultAppPool”是否可以在IIS上刷新或重置此列表?
答案 0 :(得分:0)
这可能是由于RedirectToAction需要传递ID。试试这个:
return RedirectToAction("PerformanceControl", new { Id = id });