2016-03-21 29 views
4

私たちには、HTTP POST要求をFSharp.Data Http.Request経由でWebAPIエンドポイントに送信する単純なF#コンソールアプリケーションがあります。リクエストタイムアウトプロパティを設定しようとすると、customizeHttpRequestパラメータが使用されています。FSharp.Data HTTPリクエスト - 要求のタイムアウトを設定できません

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パラメータが正しく使用されていませんか?

答えて

2

FSharp.Dataは非同期GetResponseメソッドを使用します。 MSDNによれば、HttpWebRequestオブジェクトに設定されたタイムアウトは考慮されず、タイムアウトの処理はクライアントコードが実装するために残されます。

残念ながら、FSharp.Dataはそれを行いません。それを実装するための未解決の問題がありますhere

+0

簡潔な回答のためにscrwtpに感謝します。 – daithimurf

関連する問題