Question

Lorsque j'utilise la méthode POST pour une requête httpweb, je vois souvent une ligne de code comme celle-ci :

Dim postReq As HttpWebRequest = DirectCast(WebRequest.Create("https://www.empireavenue.com/user/login/do"), HttpWebRequest)

Pourquoi faisons-nous un DirectCast ici ?Que fait-il exactement ?

Modifier:Ou peut-être que ma question est la suivante : pourquoi appelons-nous WebRequest.Create et le convertissons en HttpWebRequest ?Que se passe-t-il ici, techniquement parlant ?

Était-ce utile?

La solution

WebRequest.Create est une méthode d'usine qui peut renvoyer différents types de requêtes.Pour cette raison, ils sont tous renvoyés sous la forme WebRequest.Mais parce que tu sais peut-être que tu t'attends à ce qu'il revienne HttpWebRequest (parce que l'Uri que vous avez fourni est http), vous pouvez le downcast pour accéder aux méthodes et propriétés exposées par HttpWebRequest, qui ne sont pas exposés par WebRequest classe de base.

Mais vous devriez probablement utiliser WebRequest.CreateHttp() au lieu de WebRequest.Create(), si vous savez que vous allez utiliser le protocole http.

Autres conseils

parce que httpwebrequest implémente WebRequest et WebRequest.create () retourne un objet WebRequest.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top