【问题标题】:PCL HttpClient: undefined "WebExceptionStatus.ConnectionClosed" and "Authenticator"PCL HttpClient:未定义的“WebExceptionStatus.ConnectionClosed”和“Authenticator”
【发布时间】:2016-05-20 18:36:50
【问题描述】:

我正在将非 PCL 代码移植到 PCL,但我被 HttpClient 困住了(除了其他问题,但直截了当): 我在这里阅读了许多问题和答案,以确保我做正确的事情,现在我使用 Microsoft 的 HttpClient 用于 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,但 没有 提到库中缺少任何类、枚举值或属性。

我看到一些答案涵盖了 which HttpClient 要使用的主题,但我找不到(再次)谈到 HttpClient 作为 PCL 的一部分或其他东西的最新变化的帖子(现在很困惑)。

有什么提示吗?

【问题讨论】:

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


    【解决方案1】:

    与不可移植版本相比,HttpClient 的 PCL 版本有一些限制,这不是 Xamarin 特有的,而是整个 PCL 的限制。

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

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

    【讨论】:

    • 谢谢先生,接下来我会使用 ModernHTTPClient!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-30
    相关资源
    最近更新 更多