我正在将非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的一部分或者其他什么(现在很困惑)。
任何提示?
答案 0 :(得分:1)
与非便携版相比,HttpClient的PCL版本存在局限性,这不是Xamarin特有的,而是整个PCL。
但是,我发现的最佳解决方案是使用ModernHTTPClient,它提供了一个可以提供所需呼叫的便携版本。
您还可以查看使用PCL本身做一些棘手的事情,类似于以下博客post中所述,但我建议首先尝试使用ModernHTTPClient。