Я недавно играл в библиотеке SSH.NET, и я пытался найти/устранить проблему с удаленным объектом при попытке выполнить вторую команду. Вот мой код:SSH.NET «Не удается получить доступ к удаленному объекту»
private void statusBtn_Click(object sender, System.EventArgs e)
{
Commands("status");
}
private void startBtn_Click(object sender, System.EventArgs e)
{
Commands("start");
}
private void Commands(string cmd)
{
using (sdtd_client)
{
sdtd_client.Connect();
switch (cmd)
{
case "status":
var status = sdtd_client.CreateCommand("7dtd.sh status Nom");
string result = status.Execute();
outputBox.AppendText(result);
break;
case "start":
var start = sdtd_client.CreateCommand("uptime");
string result_start = start.Execute();
outputBox.AppendText(result_start);
break;
default:
outputBox.AppendText("Unrecognized Command.");
break;
}
sdtd_client.Disconnect();
}
}
Я понимаю «sdtd_client.Disconnect();» удаляет соединение, но даже не используя его, он все еще располагает.
Как я могу безопасно подключаться, выполнять, отключать каждый раз, когда я запускаю разные команды?
Даже если я открыл соединение при запуске приложения и отключился только при разгрузке, каждая выполненная команда удалит объект соединения.
Есть ли что-то очевидное, что мне не хватает?
Извините, я предположил, что объявление клиента было известно -> SshClient sdtd_client = new SshClient («host», «user», «pass») – Faded
Хорошо, я в основном просто вынул его из блока использования, и он работает .. Спасибо для указания очевидного <3 – Faded