i got a very weird problem. When I request a Webpage that return an Status Code that isn't a 2** Statuscode than HttpClient throws an ecxeption.
Implementation:
try {
//post-anfrage an webservice starten
var request = await httpClient.PostAsync(SettingsPage.WebServiceURL + site,
content);
if (!request.IsSuccessStatusCode) {
if (request.StatusCode == System.Net.HttpStatusCode.Unauthorized) {
await User.Instance.Logout();
}
var message = await request.Content.ReadAsStringAsync();
RaiseErrorMessage(null, message);
}
SaveCookies(request);
timer.Change(PING_INTERVAL, PING_INTERVAL);
return request;
}
catch (TaskCanceledException e) {
RaiseConnectionError(null, "Verbindung zu Webservice fehlgeschlagen!");
return null;
}
catch (Exception ex) {
RaiseConnectionError(null, "Es ist etwas schief gelaufen..." + System.Environment.NewLine + "Bitte Support Kontaktieren!");
Debug.WriteLine("AppWarehouse.pro: " + ex.Message);
Debug.WriteLine("AppWarehouse.pro: " + ex.StackTrace);
return null;
}
}
I don't understand why it does what it does. For me there is no reason for that behaviour. I'd be happy about a fix or help to fix it.