【问题标题】:Executing method on stop debugging停止调试时的执行方法
【发布时间】:2016-12-17 16:45:19
【问题描述】:

我正在寻找一种在 ASP.NET Web 应用程序中停止调试时执行方法的方法。

我有几个资源释放方法,我必须以任何方式执行应用程序关闭。 (包括停止调试(kill))

我在 global.asax 中尝试过 Application_End 和覆盖 Dispose(),但它们在停止调试时没有执行。 AppDomain.CurrentDomain.ProcessExit 事件。

实际上,当我们终止进程时,任何方法都无法执行是有道理的,但这可能是一种创造性的方式。

【问题讨论】:

标签: c# asp.net visual-studio-debugging


【解决方案1】:

您无法从您要终止的同一进程中处理该进程的终止。

要在停止调试时执行任何任务,您需要另一种方法来观察进程并在第一个进程终止时执行所需的功能。

【讨论】:

    【解决方案2】:

    其他社区成员之前也问过这个问题,Abhishek Maurya 的回答是正确的,“停止调试”会终止您正在调试的进程,因此它不会在您的应用中运行任何代码。

    一种解决方法是您可以编写一个 Visual Studio 插件。

    参考:

    Stop Debugging Event in C#

    【讨论】:

    • 对于 ASP.NET 应用程序,“停止调试”不会停止进程,而是分离调试器。进程 (w3wp.exe) 继续执行。
    最近更新 更多