Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Timeout does not seem to have desired effect

Đang mở
#1,697 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
csharp
Lĩnh vực
networking

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện sự cố với long_running_script.sh và short_running_script.sh thông qua SshClient.CreateCommand, đặt ConnectionInfo.Timeout, ChannelCloseTimeout và CommandTimeout thành 60 giây. Theo dõi đường đi thực thi lệnh để xác định tại sao lệnh chạy dài lại thất bại sau 30 giây; được xem là hoàn tất khi script 45 giây hoàn thành mà không gặp generic exception, trong khi script 5 giây vẫn thành công.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

SSH.NET 2025.0.0

I'm executing a command on a ssh session to a router that takes some time to complete. I get a System.Exception after 30 seconds no matter what I've set timeouts to:

long_running_script.sh:

#!/bin/sh
echo Simulating a long running operation
sleep 45
echo Done

short_running_script.sh:

#!/bin/sh
echo Simulating a quick operation
sleep 5
echo Done
var sshClient = new SshClient("192.168.1.1", "root", password);
sshClient.ConnectionInfo.Timeout = TimeSpan.FromSeconds(60);
sshClient.ConnectionInfo.ChannelCloseTimeout = TimeSpan.FromSeconds(60);
sshClient.Connect();

var cmd = sshClient.CreateCommand(". /home/user/long_running_script.sh");
cmd.CommandTimeout = TimeSpan.FromSeconds(60);
var res = cmd.Execute();

This throws a generic System.Exception after 30 seconds. No further information, no inner exception. If I call short_running_script.sh instead it works fine.

Ngôn ngữ chính
C#
Star
4.4k
Fork
990
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của sshnet/SSH.NET

Tất cả issue của sshnet/SSH.NET

Issue tương tự

Thêm issue về C#

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.