10

It seems that HttpWebRequest has more control like ReadWriteTimeout. I am wondering whether I should stick with HttpWebRequest, rather than WebRequest

SteveC
  • 15,808
  • 23
  • 102
  • 173
user496949
  • 83,087
  • 147
  • 309
  • 426

3 Answers3

10

WebRequest is the base/parent class for HttpWebRequest and some other requests as listed here.

For now, they are:

  System.IO.Packaging.PackWebRequest
  System.Net.FileWebRequest
  System.Net.FtpWebRequest
  System.Net.HttpWebRequest
Mahesh Velaga
  • 21,633
  • 5
  • 37
  • 59
5

A WebRequest can be a HttpWebRequest/FtpWebRequest/FileWebRequest (or more in the future...)

Cheng Chen
  • 42,509
  • 16
  • 113
  • 174
0

I know its too long time but just for information purpose:

WebRequest

System.Object
    System.MarshalByRefObject
        System.Net.WebRequest

The WebRequest is an abstract base class. So you actually don't use it directly. You use it through it derived classes - HttpWebRequest and FileWebRequest.

You use Create method of WebRequest to create an instance of WebRequest. GetResponseStream returns data stream.

There are also FileWebRequest and FtpWebRequest classes that inherit from WebRequest. Normally, you would use WebRequest to, well, make a request and convert the return to either HttpWebRequest, FileWebRequest or FtpWebRequest, depend on your request. Below is an example:

Example:

var _request = (HttpWebRequest)WebRequest.Create("http://stackverflow.com");
var _response = (HttpWebResponse)_request.GetResponse();

Hope this helps!

SHEKHAR SHETE
  • 5,964
  • 15
  • 85
  • 143