我一直致力于.NET 4.6.1 WebApi项目。作为这个项目的一部分,我需要调用另一个WebApi,我想使用HttpClient来实现。
从我的在线研究中,您不能仅仅依赖于在using子句中执行普通的HttpClient,因为它没有正确地进行垃圾收集并且可能导致内存泄漏。
EG。我目前正在使用它如下:
localhost/coursefiles/whtever.php
但是正如StackOverflow和其他人的其他文章中所建议的那样,这会导致内存泄漏,而解决这个问题的方法是共享HttpClient的单个实例。
例如。
https://aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong/
HttpClientHandler / HttpClient Memory Leak
我不确定如何设置共享"单个" WebAPI本身内的HttpClient实例?
答案 0 :(得分:0)
您应该看看如何实现单例模式,请参阅 - https://msdn.microsoft.com/en-us/library/ff650316.aspx
然后,您可以创建一个HttpClient
的单身,并使其负责API中的所有HTTP
次调用。