「.NETのWebClientクラスでタイムアウトを変更する」の版間の差分
Administrator (トーク | 投稿記録) 編集の要約なし |
Administrator (トーク | 投稿記録) |
||
| 4行目: | 4行目: | ||
タイムアウトを変更できるようにする例を示す。 | タイムアウトを変更できるようにする例を示す。 | ||
<source lang="csharp"> | <source lang="csharp"> | ||
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; | |||
} | } | ||
} | |||
</source> | </source> | ||
[[category:.NET | [[category:.NET]] | ||
2020年6月10日 (水) 07:37時点における版
.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;
}
}