Я разрабатываю клиент-серверное приложение, в котором клиент запрашивает различные данные, а сервер извлекает их с локального SQL-сервера.
Мне нужно выполнить функцию при выходе из приложения, чтобы сообщить связанным службам, что сервер отключен, но я не могу понять точно, как это сделать.
На этот связанный вопрос, похоже, есть ответ:
обрабатывать событие AppDomain.ProcessExit, который возникает при выходе из родительского процесса приложения.
однако при использовании приведенного ниже кода подпрограмма 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
, когда пользователь закрывает приложение; Я не собираюсь закрывать приложение с помощью консольной команды.
Я также подумал, что, возможно, я мог бы добавить Handle
к onExit
, но я понятия не имею, что здесь использовать.
Возможно ли надежное выполнение подпрограммы или функции, когда пользователь пытается закрыть приложение через стандартный пользовательский интерфейс Windows Explorer? Это консольное приложение, я знаю, что это очень легко сделать в Windows Forms, и думал, что в консоли это будет легко. Очевидно, что нет.