C#2008
我不确定从Web客户端类继承有多少工作。
目前我在我的项目中使用它。我无法改变其他任何事情。客户希望在一段时间后暂停。 Web客户端没有此功能。
因此,我不是重新发明轮子,而是考虑继承Web客户端并添加此属性。
您认为这是一个合适的解决方案吗?添加它可能意味着更多的工作。最简单的方法是什么?
非常感谢,
答案 0 :(得分:2)
扩展webclient以添加一个超时属性,该属性可以选择在重载的构造函数中设置(超时为0或更小意味着没有超时)。然后重写GetWebRequest方法:
protected override WebRequest GetWebRequest(Uri address)
{
var req = base.GetWebRequest(address);
var httpReq = req as HttpWebRequest;
if (httpReq != null && Timeout > 0)
{
httpReq.Timeout = Timeout;
}
return req;
}