8
Come impostare la proprietà Timeout sull'operazione HttpClient. L'esempio di codice che ho usato è sotto.Come impostare il timeout per l'operazione di richiesta del client http in windows phone 8.1/Windows 8.1
public HttpClient httpClient;
public CancellationTokenSource cts;
Public void SendRequest(addressUri,postrequestbody)
{
HttpHelper.CreateHttpClient(ref httpClient);
cts = new CancellationTokenSource();
HttpRequestMessage msg =
new HttpRequestMessage(new HttpMethod("POST"),
new Uri(addressUri));
msg.Content = new HttpStringContent(postrequestbody);
msg.Content.Headers.ContentType =
new HttpMediaTypeHeaderValue("application/json");
HttpResponseMessage response =
await httpClient.SendRequestAsync(msg).AsTask();
if (response.StatusCode == HttpStatusCode.Ok)
{
}
}
Hai provato un timeout> 60 secondi? (il tuo esempio usa 2 secondi) Ho provato a impostare 10 minuti in questo modo ..... var response = attendi httpClient.PutAsync (operazione, payload, New CancellationTokenSource (600000) .Token); Ma questo restituisce 404 NON TROVATO dopo 60 secondi ancora. – iupchris10
@ iupchris10 So che è come 2 anni troppo tardi, ma 60 secondi è inferiore a 10 minuti. Se si dispone di un codice di risposta (ad esempio, il server ha _responded_), la richiesta non è scaduta. Vorrei _ verificare questo comportamento poiché è il comportamento corretto. Il codice sopra cancellerà la tua richiesta dopo 10 minuti SE non c'è risposta/la risposta richiede troppo tempo. Questo non è il caso nel tuo esempio. – john