HttpClient.Timeout プロパティ


要求がタイムアウトするまで待機する期間を取得または設定します。Gets or sets the timespan to wait before the request times out.

 property TimeSpan Timeout { TimeSpan get(); void set(TimeSpan value); };
public TimeSpan Timeout { get; set; }
member this.Timeout : TimeSpan with get, set
Public Property Timeout As TimeSpan


要求がタイムアウトするまで待機する期間。The timespan to wait before the request times out.


指定されたタイムアウトは 0 以下であり、 InfiniteTimeSpanではありません。The timeout specified is less than or equal to zero and is not InfiniteTimeSpan.

操作は現在のインスタンス上で既に開始されました。An operation has already been started on the current instance.

現在のインスタンスは破棄されています。The current instance has been disposed.


既定値は 100,000 ミリ秒 (100 秒) です。The default value is 100,000 milliseconds (100 seconds).

無限のタイムアウトを設定するには、プロパティの値を InfiniteTimeSpanに設定します。To set an infinite timeout, set the property value to InfiniteTimeSpan.

ドメインネームシステム (DNS) のクエリが返されるか、タイムアウトになるまでに最大15秒かかることがあります。解決が必要なホスト名が要求に含まれており、Timeout を15秒未満に設定した場合は、要求のタイムアウトを示すために WebException がスローされる前に15秒以上かかることがあります。A Domain Name System (DNS) query may take up to 15 seconds to return or time out. If your request contains a host name that requires resolution and you set Timeout to a value less than 15 seconds, it may take 15 seconds or more before a WebException is thrown to indicate a timeout on your request.

この HttpClient インスタンスを使用しているすべての要求に対して、同じタイムアウトが適用されます。The same timeout will apply for all requests using this HttpClient instance. また、タスクの CancellationTokenSource を使用して、個々の要求に対して異なるタイムアウトを設定することもできます。You may also set different timeouts for individual requests using a CancellationTokenSource on a task. 2つのタイムアウトのうち、短い方だけが適用されることに注意してください。Note that only the shorter of the two timeouts will apply.


次の例では、Timeout プロパティを設定します。The following example sets the Timeout property.

HttpClient httpClient = new HttpClient();
httpClient.Timeout = TimeSpan.FromMinutes(10);