Makng a webrequest, both work but what is the benefit of using one over the
other in this implemention?
HttpWebRequest httpreq = (HttpWebRequest)WebRequest.Create(strUrl);
vs.
WebRequest req = WebRequest.Create(strUrl);
Martin Honnen - 21 Jan 2006 12:23 GMT
> Makng a webrequest, both work but what is the benefit of using one over the
> other in this implemention?
>
> HttpWebRequest httpreq = (HttpWebRequest)WebRequest.Create(strUrl);
> vs.
> WebRequest req = WebRequest.Create(strUrl);
WebRequest is an anstract class which has a factory method Create that
depending on the URL passed in creates an instance of a concrete
subclass. Whether you need or want
HttpWebRequest httpreq = (HttpWebRequest)WebRequest.Create(strUrl);
instead of
WebRequest req = WebRequest.Create(strUrl);
depends on your needs and on what kind of URLs you pass in. If you only
pass in HTTP: URLs then the former allows you to access the properties
and methods the subclass HttpWebRequest implements in addition to those
defined on the base class WebRequest. But if you passed in a FTP: URL
then the attempt to cast to HttpWebRequest would fail.
The latter is generic and won't fail on any of the types of supported
URLs but of course without casting to any subclass you can only access
the properties and methods the base class defines.

Signature
Martin Honnen --- MVP XML
http://JavaScript.FAQTs.com/
Javier G. Lozano - 21 Jan 2006 21:27 GMT
To add to Martin's comment, you also have access to more HTTP specific
properties such as Content Type, Cookies, etc.