2

我想正确关闭一些套接字,并能够告诉服务器我们正在关闭,但如果应用程序关闭,那么套接字都刚刚关闭,有时文件被锁定。我的应用程序关闭时如何运行方法?

这将进入一个将在表单应用程序中使用的库。

4

4 回答 4

4

如果它是一个 Windows 窗体应用程序,您可以将焦点放在窗体上,单击属性窗口中的事件闪电,然后使用窗体关闭事件。

this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(OnFormClosing);

private void OnFormClosing(object sender, FormClosingEventArgs e)
{
    // Your socket logic here
}

此外,如果您需要拦截正在关闭的表单,请将 Cancel 属性设置为 true:

e.Cancel = true;
于 2009-05-03T23:45:44.753 回答
1

我会在使用这些资源的类上实现IDisposable 。然后可以从应用程序类型支持的任何关闭方法(OnFormClose、OnStop、Application_End、...)显式调用 Dispose。

于 2009-05-04T00:32:55.420 回答
0

您是在谈论 WinForms 应用程序吗?如果是这样,请在主窗体上使用FormClosing 事件。

于 2009-05-03T23:40:27.513 回答
0

我不确定它是否是最好的地方,但你可以通过挂钩AppDomain.ProcessExit来告诉你的进程正在关闭。清理工作很好,但我认为现在不是发送任何消息的好时机。:)

于 2009-05-03T23:41:00.960 回答