HttpClient Get 请求可以在不读取响应和占用内存的情况下执行吗

问题描述 投票:0回答:1

我正在使用 NEST 进行搜索调用,一切运行良好,但我想在非主集群上进行一些测试,以便我可以测试它是否有足够的能力来处理我们的生产负载以及当前的主生产 Elasticsearch集群。

我有代码将所有索引和搜索调用发送到后台线程上的非主集群,但我也想避免从“GET”/搜索返回的elasticsearch结果的内存消耗。

这可以吗?我目前正在使用丢弃范例将它们扔掉,它们很快就会被清理掉,但是有什么比我能做的更好的吗?

Task.Run(() => 
{
    NonPrimarySearchClustersList.ForEach(currentSearcher => {
            //throwaway but want to test doing the search on elastic non-primary
            _ = currentSearcher.Search(searchParams, size);
        });
});
c# nest dotnet-httpclient
1个回答
0
投票

如果您不关心结果,可以通过两种不同的方式指定。

  1. 您可以通过以下方式要求
    HttpClient
    仅获取标头:
await client.GetAsync("your_url", HttpCompletionOption.ResponseHeadersRead);
  1. 您可以直接发出
    HEAD
    请求:
await client.SendAsync(new HttpRequestMessage(HttpMethod.Head, "your_url"));

后者仅在服务器配置为支持

HEAD
动词

时才有效
© www.soinside.com 2019 - 2024. All rights reserved.