FSharp.Data HTTP 请求 - 无法设置请求超时

FSharp.Data HTTP request - unable to set request timeout

我们有一个简单的 F# 控制台应用程序,它通过 FSharp.Data Http.Request 向 WebAPI 端点发送 HTTP POST 请求。我们正在使用 customizeHttpRequest 参数来尝试设置请求超时 属性。我们的用法如下:

let response = Http.Request(
    serviceEndpoint,
    headers = requestHeaders,
    body = requestBody,
    silentHttpErrors = true,
    customizeHttpRequest = (fun request -> request.Timeout <- 1000; request))

我们观察到我们的自定义超时被忽略了(即请求不会像本例中那样在 1 秒后超时)。我们还观察到请求在默认 System.Net.HttpWebRequest 超时 100,000 毫秒后不会超时。

这里有问题吗,还是我们没有正确使用 customizeHttpRequest 参数?

FSharp.Data 使用异步 GetResponse 方法。根据 MSDN,在这种情况下,不会考虑在 HttpWebRequest 对象上设置的超时,并且处理超时留给客户端代码来实现。

不幸的是FSharp.Data没有这样做。实施它有一个未解决的问题 here