我正在尝试在我的服务器上测试一些配置更改,以处理我的应用程序池由于快速故障保护启动而关闭的情况。我正在尝试做的是配置“Shutdown Executable”设置以运行
"appcmd start apppol <myapppool>"
在快速失败保护停止应用程序池之后。在我们真正找出问题的根本原因之前,这是一个临时解决方案。
我写了一个小的 MVC 应用程序,只要调用唯一的 Controller 操作,它就会抛出异常。发生这种情况时,我会在事件日志中看到以下警告:
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 10/7/2014 10:46:01 AM
Event time (UTC): 10/7/2014 2:46:01 PM
Event ID: bba339cfcab74ffe9cb4292c746203c2
Event sequence: 4
Event occurrence: 1
Event detail code: 0
但是,这不足以触发快速失败保护。有谁知道是什么原因导致快速故障保护触发?或者更好的是如何使与 mvc 请求相关联的工作进程崩溃?
最佳答案
您可以创建导致 native 进程失败的操作,例如(适当的)堆栈溢出。
public class AdminController
{
[Authorize(Roles="Administrator")]
public ActionResult FailHard()
{
//StackOverflow
return FailHard();
}
}
然后在以管理员身份登录时点击/admin/failhard。
如果您在生产站点上启用该 URL,请务必小心。内置一些保护措施是明智的,例如采用需要提供今天日期的参数以避免意外激活。
关于asp.net - 强制快速失败保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26241989/