C# HttpClient throws Exception on no Sucess Status Codes

Viewed 530

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.

1 Answers
Related