Наследование от класса веб-клиента - PullRequest
3 голосов
/ 18 мая 2009

C # 2008

Я не уверен, сколько работы нужно унаследовать от класса веб-клиента.

В настоящее время я использую его в своем проекте. И я не могу измениться ни на что другое. Клиент хотел бы иметь тайм-аут после определенного периода времени. У веб-клиента этого нет.

Поэтому вместо того, чтобы заново изобретать колесо, я думаю о наследовании от веб-клиента и добавлении этого свойства.

Как вы думаете, это подходящее решение? Может ли это означать больше работы, чтобы добавить это? Какой самый простой способ это сделать?

Большое спасибо,

1 Ответ

2 голосов
/ 18 мая 2009

расширение 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; 
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...