Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        2年前关闭。
                                                                                            
                
        
我有一个很奇怪的问题。当我请求返回的状态代码不是2 **状态代码的网页时,HttpClient会抛出ecxeption。

实现方式:

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;
}
}


我不明白为什么会这么做。对我而言,没有任何这种行为的理由。我很乐意修复或帮助修复它。

最佳答案

我修复了它……这是Xamarin与程序集结合时的一种奇怪行为。

关于c# - C#HttpClient在没有成功状态代码时引发异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44115573/

10-10 07:53