WebRequest
là lớp trừu tượng, có phương thức nhà máy Create
, tùy thuộc vào URL được truyền vào, tạo một phiên bản của lớp con cụ thể. Cho dù bạn cần hoặc muốn HttpWebRequest httpreq = (HttpWebRequest)WebRequest.Create(strUrl);
thay vì WebRequest req = WebRequest.Create(strUrl);
phụ thuộc vào nhu cầu của bạn, và trên loại URL bạn vượt qua trong
Nếu bạn chỉ vượt qua trong HTTP:. URL, sau đó mã cũ cho phép bạn truy cập vào các thuộc tính và phương thức phân lớp HttpWebRequest
thực hiện ngoài các phương thức được xác định trên lớp cơ sở WebRequest
. Nhưng nếu bạn chuyển vào một FTP: URL thì nỗ lực truyền tới HttpWebRequest
sẽ thất bại.
Sau này là chung và sẽ không thất bại trên bất kỳ loại URL nào được hỗ trợ nhưng tất nhiên mà không truyền tới bất kỳ lớp con nào, bạn chỉ có thể truy cập thuộc tính và phương thức mà lớp cơ sở xác định.
- qua Martin Honnen
Nguồn
2009-10-08 10:07:24
bài liên quan: http://stackoverflow.com/q/8209781/274502 – cregox