7
votes

Comment appeler une URL externe à partir d'une solution ASP.NET MVC

premier post sombre jamais. Tellement mieux en faire un bon.

J'ai une application Web ASP.NET MVC 2 dans laquelle j'ai une actionResulte, je dois faire un appel à moi. P>

La chose est que j'ai besoin de cette ar Pour gérer certaines opérations de données et, après cela, j'en ai besoin pour appeler une URL externe qui est en fait un module d'entreprise qui gère l'envoi de messages à nos téléphones de la société. P>

Il faut juste appeler l'URL qui ressemble à ceci : P>

Server.Execute(url);


0 commentaires

3 Réponses :


1
votes

Puisque vous ne vous attendez pas à une valeur de retour de l'URL, la manière la plus simple est

  • Après l'exécution AR, utilisez WebClient pour déclencher l'URL
  • soit par http get ou post (synchrone ou asynchrone)

    code d'échantillon xxx

    L'échantillon utilise l'appel http et l'appel asynchrone (il retournera donc immédiatement après avoir déclenché l'URL - non bloquante)


3 commentaires

Donc, fondamentalement, je n'ai besoin que de le faire, car je n'ai pas besoin de vérifier la progression% ou des choses comme ça: Remarque: n'en avez-vous pas un "?" Trop nombreux dans la chaîne sp = "npcgi ?? non =" ligne? String Phonenumber = NextPatient.Handset.CallNumber; String MessageCallinpatient = "Le médecin est prêt à vous voir en 5 minutes. S'il vous plaît procéder à la zone d'attente"; URL String = "NPCGI? Non =" + Phonenumber + "& msg =" + MessageCallinpatienter; Webclient wc = nouveau webclient (); Uri NetPageURL = New Uri (" 172.20.120.59/cgi-bin/" ); wc. UploadDataAasync (NetPageURL, System.Text.Ext.encoding.ascii.get octets (URL));


@Memblis, je comprends que vous n'avez pas besoin de gérer les progrès ... Ensuite, faites-en simplement un gestionnaire vide, pas besoin d'écrire quoi que ce soit à l'intérieur de cela ... et essayez-le avec vos URL actuelles et laissez-moi savoir ...


J'ai bien compris votre exemple. J'ai fait l'essayer sans vos utilisateurs d'événement mais j'ai toujours eu des erreurs. Je pense en fait que l'URL générée était défectueuse. Mais j'ai réussi à résoudre le problème à l'aide de httpwebrequest. Voir mon code de travail ci-dessous. Merci



-1
votes

Vous pouvez utiliser simplement "Redirection de retour (URL);"


1 commentaires

Mais cela redirigera mon utilisateur de leur page actuelle à la page externe. Je ne veux pas ça. Je veux seulement exécuter l'URL externe, Cause du message texte qu'il enverra à un combiné. Je dois tout arriver derrière l'interface graphique sans que l'utilisateur ne voie jamais ou doit quitter la page en cours.



9
votes

Je l'ai enfin obtenu avec cette pièce de code:

 string messageToCallInPatient = "The doctor is ready to see you in 5 minutes. Please wait outside room " + roomName;
 string url = "http://x.x.x.x/cgi-bin/npcgi?no=" + phoneNumber + "&msg=" +
               messageToCallInPatient;
 HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(string.Format(url));
 webReq.Method = "GET";
 HttpWebResponse webResponse = (HttpWebResponse)webReq.GetResponse();

 //I don't use the response for anything right now. But I might log the response answer later on.   
 Stream answer = webResponse.GetResponseStream();
 StreamReader _recivedAnswer = new StreamReader(answer);


0 commentaires