【发布时间】:2017-08-16 14:19:27
【问题描述】:
是否可以在 OnStart() 的 Xamarin Forms 应用程序中创建一个 httpclient 实例并在我的应用程序中的任何地方使用它?
【问题讨论】:
-
不是一个好主意,HttpClient 应该被安全地调用并且应该是一次性的以正确关闭所有网络连接
-
@OrcusZ 这根本不是真的。您绝对应该重用 HttpClient 的单个实例。 Similar question
-
@WillDecker 所以 MS Doc & Sources 是错误的?您可以使用单个实例或 createInstance 方法。但是您应该检查是否需要处置该实例。此外,HttpClient 已经是线程安全的,但不是所有的方法,所以你应该在线程安全的场景中使用这些方法
-
@OrcusZ 你应该重用 HttpClient。它会在创建时创建昂贵的资源。它是线程安全的,因此没有理由持续使用昂贵的资源。
-
@NickTurner 哇所有线程 ^^。是的,这是真的,我在 xForms 中阅读了很多关于异步调用和 http 调用的内容,出于性能目的,最好只保留一个连接:)
标签: c# android ios xamarin singleton