¿Por qué DirectCast la HttpWebRequest en VB.NET?
-
21-12-2019 - |
Pregunta
Cuando se utiliza el método POST para un httpwebrequest, a menudo veo una línea de código similar a este:
Dim postReq As HttpWebRequest = DirectCast(WebRequest.Create("https://www.empireavenue.com/user/login/do"), HttpWebRequest)
¿Por qué hacemos un DirectCast aquí?¿Qué es exactamente haciendo?
Editar:O tal vez mi pregunta es, ¿por Qué lo llamamos WebRequest.Crear y lo echó a un HttpWebRequest?¿Qué está pasando aquí técnicamente hablando?
Solución
WebRequest.Create
es un método de fábrica que puede devolver diferentes tipos de solicitudes.Debido a que todos ellos son devueltos escribe como WebRequest
.Pero debido a que usted puede saber que usted está esperando a que vuelva HttpWebRequest
(debido a Uri le he proporcionado es http) puede abatido a obtener acceso a los métodos y propiedades expuestas por HttpWebRequest
, que no están expuestas por WebRequest
clase base.
Pero, probablemente, usted debe utilizar WebRequest.CreateHttp()
en lugar de WebRequest.Create()
, si usted sabe que usted va a usar el protocolo http.
Otros consejos
Porque httpwebrequest implementa webrequest y webrequest.create () devuelve un objeto webrequest.