가 나는 restsharp 클라이언트가이 같은 설정 요청할 작동하지 :RestSharp 시간 초과
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);
이 요청 30 분 주위 완료하는 데 시간이 걸릴 것입니다. 이제는이 일을 더 우아하게하는 방법이 있다는 것을 알고 있습니다. 그러나이 요청에 대해 저는 이것을 이렇게해야합니다.
이 RestSharp 클라이언트 및 요청은 Windows 서비스 내에서 실행됩니다. 서비스가 요청을 실행하면 TimoutException이 발생하고 최대 요청 시간은 약 40 초입니다.
내가 설정 한 시간 초과가이 경우에는 작동하지 않습니다.
아무도 해결책이 있습니까?
대답 주셔서 감사합니다. 그래서 타임 아웃을 무제한으로 처리하도록 제안하겠습니까? –
먼저 작업을 시작, 상태 및 결과 작업으로 분리합니다. 전화를 걸고 토큰을 반환 한 다음 상태를 확인합니다. 마지막으로, 저장된 결과를 얻으십시오. 그게 가능하지 않다면 시간 제한을 할 수있는 한 최선을 다할 것을 희망하면서 최선을 다할 것을 제안합니다. API를 제어하는 경우 문 # 1 뒤에있는 항목으로 이동하십시오. –
당신이 옳았습니다. 공식 문서에는 무제한 시간 제한을 위해 -1이 있습니다. 나는 Int32.MaxValue처럼 그것을 넣었다. 고마워 친구! –