【问题标题】:RedirectToAction does not have end response parameter. results in throwing 'Thread was being aborted" exceptionRedirectToAction 没有结束响应参数。导致抛出“线程被中止”异常
【发布时间】:2015-12-05 16:07:56
【问题描述】:

我正在开发 MVC4 网络应用程序。

当前方法 RedirectToAction 没有可选参数来指定是否结束响应,而 Response.Redirect 方法有。如果不将 endResponse 参数设置为 false(默认为 true),线程将被中止。这意味着每次我调用 RedirectToAction 时,我都会在事件日志中收到 “线程被中止” 消息。 这在这里解释 https://support.microsoft.com/en-us/kb/312629

如何解决这个问题?

【问题讨论】:

  • 你的意思是,当你从控制器返回 RedirectToAction 后尝试做某事时,你会得到那个事件日志条目?在“正常”流程中,您的控制器方法返回 RedirectToAction(),它不应出现在事件日志中。

标签: c# asp.net asp.net-mvc multithreading


【解决方案1】:

我想我已经解决了这个问题。 在此之前,当您长时间运行进程时,我有一些建议

1) 使用https://support.microsoft.com/en-us/kb/312629中提到的F​​ix

2) 尝试将长时间运行的代码移出 IIS,尝试使用将在后台运行的服务。

对于那些无法更改现有代码的人来说,这里是快速而肮脏的解决方案。

在几分钟内将 IIS(应用程序的应用程序池 => 右键单击​​=>高级设置)中的空闲时间增加到您认为足以完成长时间运行过程的任何时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-04
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 2018-05-31
    • 2023-03-31
    • 1970-01-01
    相关资源
    最近更新 更多