【发布时间】:2010-05-13 21:55:12
【问题描述】:
我找不到任何接近的答案,所以我正在咨询 SO 用户的体验:
场景:
我有两个小型 C# winforms 应用程序,其中一个充当服务器或主机,另一个充当客户端。它们通过 SQL Server 共享配置设置方面的数据。
我目前正在通过Process.Start() 从服务器应用程序启动客户端应用程序(只需要定期运行)并通过Process.CloseMainWindow() 终止它(在进程列表中找到它之后)。
虽然看起来很干净,但我想知道是否有更好的方法。
问题:
指示客户端应用程序关闭的最佳方式是:
- 继续使用 Process.CloseMainWindow()?
- 在应用程序之间实现 WCF? (我需要有关如何执行此操作的帮助。)
- 在 SQL 中设置客户端应用程序检查的变量?
- 其他方式?
【问题讨论】:
-
Process.CloseMainWindow()似乎足够好(关闭主窗口将退出大多数应用程序)。但是为什么不记得你开始的过程,例如在类字段或局部变量中而不是在进程列表中搜索? -
那将是一个进步!当我启动它时,我只是调用 Process.Start("app.exe") 但 .Start() 不返回进程 ID。我如何最好地记住以后终止的过程?
-
只需存储
Process.Start返回的Process或创建一个新的Process实例,如此处示例中所述:msdn.microsoft.com/en-us/library/e8zac0ca%28VS.90%29.aspx -
谢谢 0xA3 - 工作得很好。