【问题标题】:How can i check is my program crash?我如何检查我的程序是否崩溃?
【发布时间】:2016-05-04 12:36:30
【问题描述】:

我正在 winforms 上制作一个 OPC 客户端,该客户端与服务器连接并使用 OPC 协议从中读取数据。所以,我成功连接到服务器,但是当我的程序崩溃或我从任务管理器手动关闭它时,与服务器的连接仍然存在(这不好)。

我能以某种方式检查我的程序是否正确结束吗?如果我的程序结束不正确,则断开与服务器的连接。

我尝试使用myProcess.HasExited,但它不起作用。

【问题讨论】:

  • 嗨 Ramon,请阅读此内容并相应地编辑您的问题:stackoverflow.com/help/how-to-ask
  • 由于您已为此问题建议了Process 组件,我假设您正在启动一个 EXE 并询问如何监控它。为什么要这样做?为什么 EXE 自身 不负责在出现问题时优雅地关闭连接?你不太可能从远处处理它......
  • 我其实不知道。我也是这么想的

标签: c# winforms connection


【解决方案1】:

我只能猜测您可以使用 Socket 进行服务器连接。如果是这样,那么在完成服务器调用后关闭它是一个好习惯。您需要调用Shutdown()、Close()、Dispose()的序列。

请参阅此 MSDN 文章:https://msdn.microsoft.com/en-us/library/wahsac9k(v=vs.110).aspx

【讨论】:

  • 谢谢,但我正在使用某人自制的 OPC 库,并且已经有 Disconnect 方法。但我只是不知道如果程序崩溃如何断开连接。
  • 您需要订阅“捕获所有未处理的异常”事件。这应该会有所帮助:stackoverflow.com/a/32396235/1786034
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-11
  • 1970-01-01
相关资源
最近更新 更多