RestSharp Timeout funktioniert nicht

RestSharp Timeout funktioniert nicht

So ändern Sie die standardmäßige Zeitüberschreitungsdauer:

zum Ändern des Standardzeitlimits auf:5 Sekunden - zum Beispiel - (d. h. 5000 Millisekunden):

    var client = new RestClient(BaseUrl);
    client.Timeout = 5000; // 5000 milliseconds == 5 seconds

Das war's, und ich hoffe, das hilft!


Möglicherweise tun Sie nicht das, was Sie denken, indem Sie ReadWriteTimeout einstellen Wert. Ihr Wert wird ignoriert, sodass Sie den Standardwert erhalten.

Laut dieser Antwort Was ist der Standard-Timeout-Wert von RestSharp RestClient? RestSharp verwendet HttpWebRequest in seiner Umsetzung.

Die Timeout-Eigenschaft für HttpWebRequest HttpWebRequest.Timeout-Eigenschaft darf nicht negativ sein.

Wenn Sie sich den Code des RestSharp-Clients ansehen, sehen Sie Folgendes:https://github.com/restsharp/RestSharp/blob/70de357b0b9dfc3926c95d1e69967c7a7cbe874c/RestSharp/RestClient.cs#L452

        int readWriteTimeout = request.ReadWriteTimeout > 0
            ? request.ReadWriteTimeout
            : this.ReadWriteTimeout;

        if (readWriteTimeout > 0)
        {
            http.ReadWriteTimeout = readWriteTimeout;
        }