.NETのWebClientクラスでタイムアウトを変更する

提供: MonoBook
2015年8月5日 (水) 04:26時点における180.47.44.165 (トーク)による版 (ページの作成:「.NET FrameworkのWebClientクラスは手軽で便利だが、その代償としてタイムアウトの設定ができなかったり、クッキーの制御ができな...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

.NET FrameworkのWebClientクラスは手軽で便利だが、その代償としてタイムアウトの設定ができなかったり、クッキーの制御ができなかったり何かと痒いところに手が届かなかったりする。そのような場合はWebClientクラスを継承することで旧来のWebRequestクラスとWebResponseクラスにアクセスすることが出来るようになる。

タイムアウトを変更できるようにする

タイムアウトを変更できるようにする例を示す。

    using System;
    using System.Net;

    public class MyWebClient : System.Net.WebClient
    {
        public int Timeout { get; set; } = 30 * 1000;

        protected override WebRequest GetWebRequest(Uri address)
        {
            var w = base.GetWebRequest(address);
            w.Timeout = Timeout;
            return w;
        }
    }

関連項目

参考文献