C# 在Xamarin-Execute()中使用RestSharp会在HTTP请求失败时引发异常
我在运行于Xamarin.Android 6.0.1.10的项目中使用了RestSharp 105.2.3.0 一切正常,但几天之后,如果HTTP请求没有成功,调用Execute()方法开始抛出异常(我猜这与Xamarin平台的更新有关?) 例如,我收到403响应状态代码的“System.Net.WebException:远程服务器返回了一个错误:(403)禁止”。如果无法访问主机,则收到“System.Net.Sockets.SocketException:没有到主机的路由” 这很奇怪,因为在这一页上--我看到: 请注意,不会引发来自Execute的异常,但可以在ErrorException属性中找到 此外,我还发现了一个或多或少适用于同一问题的方法 建议的解决方案是设置IgnoreResponseStatusCode属性:C# 在Xamarin-Execute()中使用RestSharp会在HTTP请求失败时引发异常,c#,exception,xamarin,restsharp,C#,Exception,Xamarin,Restsharp,我在运行于Xamarin.Android 6.0.1.10的项目中使用了RestSharp 105.2.3.0 一切正常,但几天之后,如果HTTP请求没有成功,调用Execute()方法开始抛出异常(我猜这与Xamarin平台的更新有关?) 例如,我收到403响应状态代码的“System.Net.WebException:远程服务器返回了一个错误:(403)禁止”。如果无法访问主机,则收到“System.Net.Sockets.SocketException:没有到主机的路由” 这很奇怪,因为在
var client = new RestClient();
client.IgnoreResponseStatusCode = true;
但是我在RestClient中没有看到这个属性
我怎样才能解决这个问题?当然,我可以在try..catch中包装Execute调用,但我更愿意避免它,因为Execute首先不应该抛出异常。我已经解决了
该问题与以下事实有关:在Visual Studio中的“异常设置”窗口(调试->异常…)中,在“引发异常时中断”列中选中了所有复选框
因此,RestSharp代码捕获了异常,但是VS仍然在执行调用时中断执行,因为它被配置为这样做
屏幕截图:如果行为与文档不符,我会向RestSharp团队提交一个bug。我在GitHub上创建了一个问题,看看是否有这种行为的原因-@bene11i,我正在尝试在我的PCL项目中安装RestSharp,但我没有得到任何帮助。您能帮助我如何在xamarin.forms中安装吗?谢谢