【发布时间】:2014-12-29 21:44:13
【问题描述】:
我正在设计一个客户端-服务器应用程序,其中客户端请求各种数据,服务器从本地 SQL 服务器检索数据。
我需要在应用程序退出时执行一个函数,以便告诉相关服务服务器处于离线状态,但我无法确切地了解如何执行此操作。
This related question似乎有了答案:
处理AppDomain.ProcessExit event,它在应用程序的父进程退出时引发。
但是,当使用下面的代码时,onExit 子例程不会在应用程序关闭时执行,可能是因为我使用了错误的方法来解决这个问题,或者在应用程序退出时没有执行Environment.Exit:
Dim myConn As SqlConnection
Dim cmd As New SqlCommand
Sub Main()
AddHandler AppDomain.CurrentDomain.ProcessExit, AddressOf onExit
End Sub
Public Sub onExit(sender As Object, e As EventArgs)
'Unrelated code removed here.
End Sub
为了澄清,我需要它在用户关闭应用程序时执行onExit;我不想通过控制台命令关闭应用程序。
我也想过也许我可以在onExit 中添加一个Handle,但我不知道在这里使用什么。
当用户试图通过标准的 Windows 资源管理器用户界面关闭应用程序时,是否可以可靠地执行子例程或函数? 这是一个控制台应用程序,我知道这可以在 Windows 窗体中很容易地完成,并且认为在控制台中会很容易。 显然不是。
【问题讨论】:
标签: vb.net exit handle command-line-interface