【问题标题】:ASP.NET Core 3.1 HttpMessageHandler cleanup cycleASP.NET Core 3.1 HttpMessageHandler 清理周期
【发布时间】:2020-07-31 21:38:42
【问题描述】:

我在调试日志中看到这些消息:

[23:29:12 DBG] HttpMessageHandler 在客户端“默认”{“EventId”:{“Id”:103,“Name”:“HandlerExpired”},“SourceContext”:“Microsoft.Extensions. Http.DefaultHttpClientFactory"}

[23:29:22 DBG] 开始 HttpMessageHandler 清理周期,其中 1 个项目 {"EventId": {"Id": 100, "Name": "CleanupCycleStart"}, "SourceContext": "Microsoft.Extensions.Http. DefaultHttpClientFactory"}

[23:29:22 DBG] 在 1.9126 毫秒后结束 HttpMessageHandler 清理周期 - 已处理:0 项 - 剩余:1 项 {"EventId": {"Id": 101, "Name": "CleanupCycleEnd"}, " SourceContext": "Microsoft.Extensions.Http.DefaultHttpClientFactory"}

[23:29:32 DBG] 开始 HttpMessageHandler 清理周期,其中 1 个项目 {"EventId": {"Id": 100, "Name": "CleanupCycleStart"}, "SourceContext": "Microsoft.Extensions.Http. DefaultHttpClientFactory"}

[23:29:32 DBG] 在 0.1306 毫秒后结束 HttpMessageHandler 清理周期 - 已处理:0 项 - 剩余:1 项 {"EventId": {"Id": 101, "Name": "CleanupCycleEnd"}, " SourceContext": "Microsoft.Extensions.Http.DefaultHttpClientFactory"}

这些消息永远不会结束,但我不会在我的应用程序中使用任何这些消息。我有一些未处理的物品,为什么我总是有一件物品?

这是我在Startup.cs中的代码:

services.AddHttpClient("default", c =>
        {
            c.DefaultRequestHeaders.Add("Accept-Encoding", "gzip, deflate");
            c.Timeout = TimeSpan.FromMinutes(120);
        }).ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
        {
            Proxy = WebRequest.DefaultWebProxy,
            AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip
        });

【问题讨论】:

    标签: asp.net-core httpclient


    【解决方案1】:

    This github issue 讨论了一个类似的问题,这似乎是默认行为。

    如果您不想获取Microsoft.Extensions.Http.DefaultHttpClientFactory类别的日志,您可以将其设置为“信息”及更高级别的日志。

    "Microsoft.Extensions.Http.DefaultHttpClientFactory": "Information"
    

    【讨论】:

      猜你喜欢
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2018-12-23
      • 1970-01-01
      相关资源
      最近更新 更多