2016-03-21 150 views
4

我們有一個簡單的F#控制檯應用程序,通過FSharp.Data Http.Request向WebAPI端點發送HTTP POST請求。我們正在使用customizeHttpRequest參數來嘗試設置請求超時屬性。我們的用法如下:FSharp.Data HTTP請求 - 無法設置請求超時

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

我們正在觀察,我們的定製超時被忽略(即請求不超時1秒後如本例)。我們還觀察到,請求不會在默認超時100,000ms後超時。

這裏有問題嗎,還是我們沒有正確使用customizeHttpRequest參數?

回答

2

FSharp.Data使用異步GetResponse方法。根據MSDN,在這種情況下,不考慮在HttpWebRequest對象上設置的超時,並且處理超時留給客戶端代碼執行。

不幸的是FSharp.Data沒有這樣做。實施它有一個開放的問題here

+0

感謝scrwtp的簡潔回答。 – daithimurf