我需要一个建议,因为我被“锁定”了......
我有一个在客户端进程和服务器之间使用 .NetRemoting 的客户端-服务器应用程序。
服务器进程向调用方法的客户端引发事件。
然后,客户端使用 BackGroundWorker 将值传输到用户界面。
通常,当客户端启动时,服务器已经在运行。
- 调用 BackGroundWorker.DoWork() 时,Thread.CurrentThread.IsBackground 等于 True
- 在 BackGroundWorker_RunWorkerCompleted 事件中,Thread.CurrentThread.IsBackground 等于False
但是,如果在客户端加载过程中(.exe 正在打开),则需要打开(使用 Process.Start()) 连接之前的服务器进程 (.exe)
,在 BackGroundWorker_RunWorkerCompleted 中,Thread.CurrentThread.IsBackground 仍然等于此线程中无法更改
True和 UI。
在这种情况下,我需要打开另一个客户端(连接到同一台服务器)以获得良好的行为。
这两种情况有什么区别?
谢谢。