Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Xamarin-Execute()中使用RestSharp会在HTTP请求失败时引发异常_C#_Exception_Xamarin_Restsharp - Fatal编程技术网

C# 在Xamarin-Execute()中使用RestSharp会在HTTP请求失败时引发异常

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:没有到主机的路由” 这很奇怪,因为在

我在运行于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属性:

var client = new RestClient();
client.IgnoreResponseStatusCode = true;
但是我在RestClient中没有看到这个属性

我怎样才能解决这个问题?当然,我可以在try..catch中包装Execute调用,但我更愿意避免它,因为Execute首先不应该抛出异常。

我已经解决了

该问题与以下事实有关:在Visual Studio中的“异常设置”窗口(调试->异常…)中,在“引发异常时中断”列中选中了所有复选框

因此,RestSharp代码捕获了异常,但是VS仍然在执行调用时中断执行,因为它被配置为这样做


屏幕截图:

如果行为与文档不符,我会向RestSharp团队提交一个bug。我在GitHub上创建了一个问题,看看是否有这种行为的原因-@bene11i,我正在尝试在我的PCL项目中安装RestSharp,但我没有得到任何帮助。您能帮助我如何在xamarin.forms中安装吗?谢谢