RestSharp Timeout funktioniert nicht

Ich habe eine restsharp client und die Anfrage wie folgt eingerichtet:

var request = new RestRequest();
request.Method = Method.POST;
request.AddParameter("application/json", jsonBody, ParameterType.RequestBody);
request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; };
request.Timeout = -1;
request.ReadWriteTimeout = -1;
var url = $"http://{ipAddress}/api/calculate";
var client = new RestClient();
client.BaseUrl = new Uri(url);
client.Timeout = -1;
client.ReadWriteTimeout = -1;
var response = client.Execute(request);

Diese Anforderung wird eine Weile dauern zu beenden, etwa 30 Minuten. Nun, ich weiß, dass es elegantere Wege, dies zu tun, aber, für diese Anfrage, ich muss es so machen.

Diese RestSharp client und die Anfrage ausgeführt, im inneren Windows-Dienst. Wenn der service ausgeführt wird verlangen, es wirft TimoutException und verlangen maximale Zeitlimit beträgt rund 40 Sekunden.

Aus irgendeinem Grund, timeout, die ich eingestellt habe, funktioniert nicht für diesen Fall.

Jemand hat eine Lösung dafür?

Antrag sollte nicht 30 Minuten dauern - sollten Sie überarbeiten Sie Ihre Architektur-und tun Sie es mit einigen async-Methode.

InformationsquelleAutor Miljan Vulovic | 2017-10-05

Schreibe einen Kommentar