かなり一般的な 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();