【问题标题】:Xamarin.Android HttpClient PostAsync gets cancelled when in ReleaseXamarin.Android HttpClient PostAsync 在发布时被取消
【发布时间】:2017-10-24 07:30:08
【问题描述】:

我的应用程序通过 HttpClient 使用了一些 REST API 端点。在调试和发布模式下使用时,我的 GetAsyncs 工作得非常好。

当我尝试在发布模式下将大图片同步到 API 时,会出现问题。 PostAsync 被取消并引发 WebException(带有消息:“任务已取消”)。我不会在代码中的任何地方取消任务。增加超时也不起作用 - 在 PostAsync 被触发后大约 20 秒发生错误。

在调试模式下,PostAsync 工作正常,并在存在适当连接质量的情况下在几秒钟内上传图片。为了让它在 Release 中工作,我需要检查配置中的 Shared Runtime usage 选项。

这种行为的原因可能是什么?我不想在我的应用程序中使用共享运行时,因为我需要在 Play 商店中发布它。

谢谢。

【问题讨论】:

  • 你尝试过用于 dotnet 的 OkHttp HttpClient 吗? Xamarin的HttpClient坏了,设置后也不考虑超时。

标签: c# android xamarin.android dotnet-httpclient system.net.webexception


【解决方案1】:

如果您在左侧的解决方案资源管理器下查看,您可以右键单击引用并选择编辑引用选择 .Net 程序集并选择要添加到项目的 dll。第一次添加时,它将在未来项目的参考中。

我检查并添加了我的正​​常 dll,即使当前项目中不需要它们以将它们添加到参考列表中。添加与 httpclient 对应的每个 dll 我的应用在调试模式下运行良好,但发布时无法运行,之后运行正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多