PCL HttpClient:未定义“WebExceptionStatus.ConnectionClosed”和“Authenticator”

时间:2016-05-20 18:36:50

标签: c# xamarin cross-platform xamarin.forms

我正在将非PCL代码移植到PCL,而我仍然坚持使用HttpClient(除了其他,但直接的问题): 我在这里阅读了一些问题和答案,以确保我做正确的事情,现在我使用Microsoft的HttpClient for PCL 2.2.29版本和BCL版本1.1.10。

我的问题是之前在Android或iOS上关于行为的其他问题中报告的问题:在我的案例中,我的HttpClient实现中缺少一些非常基本的类和枚举值(与非-PCL HttpClient):

1)HttpWebRequest.Timeout(超出其他缺少的属性)

2)webRequest.ContentLength(ContentType已定义!)

3)WebExceptionStatus.ConnectionClosed(还缺少许多其他内容)

4)身份验证员(完全失踪!)

我查看了该库的在线文档,它实际上明确地引用了PCL兼容的HttpClient,但提及库中任何缺少的类,枚举值或属性。

我看到一些答案涵盖使用 HttpClient的主题,但我找不到帖子(再次),它谈到HttpClient中最新的变化是PCL的一部分或者其他什么(现在很困惑)。

任何提示?

1 个答案:

答案 0 :(得分:1)

与非便携版相比,HttpClient的PCL版本存在局限性,这不是Xamarin特有的,而是整个PCL。

但是,我发现的最佳解决方案是使用ModernHTTPClient,它提供了一个可以提供所需呼叫的便携版本。

您还可以查看使用PCL本身做一些棘手的事情,类似于以下博客post中所述,但我建议首先尝试使用ModernHTTPClient。