我有一个相当普遍的 c# while 循环问题。
只有在 RDP 会话真正断开连接后,此代码才应继续执行。
当 Connected 属性更改为 0 时,意味着 RDP 会话连接已真正终止。当属性为 1 时,它仍处于连接状态且连接尚未终止。
有没有人认为这段代码有什么不好的地方?有没有更好的方法来解决它?
private void Reconnect()
{
rdp1.Disconnect(); // force the RDP session to disconnect
while (rdp1.Connected == 1) // true as long as RDP is still connected
{
// do nothing
}
rdp1.Connect(); // execute this code after while loop is broken
}
/************************************************* *************/
这是我根据詹姆斯的回答使用的最终代码。计数器足以满足我的目的。
int i = 0;
rdp1.Disconnect();
while (rdp1.Connected == 1)
{
if (i == 1000 * 10) break;
else Thread.Sleep(100);
i++;
}
rdp1.Connect();