У WebClient нет свойства тайм-аута, однако можно наследовать от WebClient, чтобы предоставить доступ к Timeout во внутреннем используемом веб-запросе:
public class WebClientEx : WebClient
{
public int Timeout {get; set;}
protected override WebRequest GetWebRequest(Uri address)
{
var request = base.GetWebRequest(address);
request.Timeout = Timeout;
return request;
}
}
Использование:
var myClient = new WebClientEx();
myClient.Timeout = 900000 // Daft timeout period
myClient.UploadData(myUri, myData);