【问题标题】:HttpClient SendASync crashesHttpClient SendASync 崩溃
【发布时间】:2020-08-07 17:12:25
【问题描述】:

我有一项服务,在我的最新更新开始崩溃后。

它确实在服务器和我的开发环境中崩溃,所以它不是系统特定的。

它在 Autorest 生成的代码上崩溃

_httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken)
                                .ConfigureAwait(false);

它抛出一个 StackOverFLowException 并且没有附加任何东西......没有给出更多信息。

Fiddler 显示没有数据正在发送,因此它不会开始发送任何内容。

据我所知,当它停止工作时我所做的唯一更改是我更改了 另一个 autorest 命名空间。

【问题讨论】:

  • 请展示你如何构造_httpRequest
  • @AdamStawarek 我设法解决了它。但是这条评论会有所帮助,因为它是在请求中错误地添加了导致它的标题!

标签: c# .net autorest


【解决方案1】:

其实自己解决了。

我试图通过使用委托来添加 Accept-Header,这以某种方式创建了一个无限循环,从而导致 StackOverflow。

正确的添加方式是:

Client.HttpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

但我是这样添加的

httpRequest.Headers.Add("Accept", "application/json");

简单的错误和非常奇怪的错误信息... ^^

【讨论】:

    猜你喜欢
    • 2019-11-17
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多