「.NETのWebClientクラスでタイムアウトを変更する」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
19行目: 19行目:
 
     }
 
     }
 
</source>
 
</source>
 
==関連項目==
 
 
==参考文献==
 
{{reflist}}
 
 
{{stub}}
 
  
 
[[category:.NET Framework]]
 
[[category:.NET Framework]]

2020年6月10日 (水) 07:36時点における版

.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;
        }
    }