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

时间:2016-03-21 14:16:57

标签: f# f#-data

我们有一个简单的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,000ms后,请求不会超时。

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

1 个答案:

答案 0 :(得分:2)

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

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