• [.net core] 在 Windows 中运行出现 WinHttpException: The parameter is incorrect


    有一个 web 服务一直跑在 docker 中,今天需要在 Windows 上部署一个备份版本,于是,签出源代码,编译,运行。结果抛出 500 ,日志中有如下记录:

    System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.WinHttpException: The parameter is incorrect
       at System.Net.Http.WinHttpException.ThrowExceptionUsingLastError()
       at System.Net.Http.WinHttpHandler.InternalSendRequestAsync(WinHttpRequestState state)
       at System.Net.Http.WinHttpHandler.<StartRequest>d__105.MoveNext()
       --- End of inner exception stack trace ---

    异常发生在调用一个其他服务时发生的,根据异常消息:“The parameter is incorrect” 百思不解,刚开始以为是依赖的服务没有部署好,重新部署之后,问题依旧。

    外事不决,问 Google:“WinHttpException: The parameter is incorrect”

    原来是 WinHttpHandler 无法处理带有 body 的 GET 请求,链接地址:https://github.com/dotnet/corefx/pull/28367

    这个 PR 并没有解决这个问题,只是抛出了一个更友好的异常信息。不过没关系,知道了问题的原因,那么解决办法就很简单了:

    不在 GET 请求中添加 Body 即可。

  • 相关阅读:
    LIstView相关问题总结
    Fragment相关总结
    HandlerThread相关问题总结
    webView相关总结
    Broadcast相关问题总结
    Android事件分发机制
    Service相关总结
    AsyncTask问题总结
    HTML常见的文本语义标签
    C++ const小结
  • 原文地址:https://www.cnblogs.com/kexxxfeng/p/8780060.html
Copyright © 2020-2023  润新知