Je dois obtenir une valeur à partir d'une API que j'ai faite avec ASHX et normalement il est appelé depuis javascript mais j'ai besoin de l'appeler correctement dans ASP.NET Je pensais que cela ne devrait pas poser de problème mais je ne suis pas sûr .Comment appeler un ASHX depuis une fonction ASPX.VB?
Répondre
Eh bien, vous avez un couple d'options
- Vous pouvez Refactor le code dans votre ASHX être dans une bibliothèque partagée afin que vous puissiez accéder aux méthodes directement et ne peut donc le gestionnaire.
- Vous pouvez instancier le gestionnaire et appeler les membres s'ils ne sont pas privés.
- Vous pouvez créer un Webrequest pour le gestionnaire et gérer la réponse.
Voici quelques-unes des solutions simples.
Personnellement, j'aime la première méthode, car elle favorise la réutilisation du code, mais selon le scénario, vous pouvez faire ce que vous voulez.
Modifier pour fournir des réponses à une question dans un commentaire.
Essentiellement Oui ... Au lieu d'avoir un tas de code dans votre gestionnaire, vous créez une classe appelée contextuelle. Dans cette classe, vous placez la logique qui était dans votre gestionnaire. Ensuite, à partir de votre gestionnaire, vous pouvez créer une instance ou appeler une version statique de la classe (en fonction de la manière dont vous l'avez implémentée) en lui passant l'objet HttpContext ou tout ce qui est requis pour que cette logique s'exécute correctement. Faites la même chose dans votre page ASPX. Vous pouvez désormais appeler un objet qui contient la logique de n'importe où dans votre application au lieu de la placer dans le gestionnaire seul.
EX:
Public Class MyCommonLogic
Public Shared Function ReturnSomethingCommon(context As HttpContext) As String
Return "Hello World!"
End Function
End Class
Ensuite, à partir du gestionnaire ou de la page ASPX ..
Dim something As String = MyCommonLogic.ReturnSomethingCommon(...)
J'ai fait la fonction statique, mais qui est juste un exemple bien sûr je mettre en œuvre serait cependant faire plus de sens dans votre scénario.
Le code a été modifié pour VB désolé à ce sujet.
Si l'ASHX se trouve sur le même serveur, surtout s'il se trouve dans la même application Web, vous devez refactoriser votre logique hors de l'ashx dans une classe commune que les deux aspx et ashx peuvent appeler.
Sinon, vous pouvez regarder à l'aide: System.Net.WebClient
- 1. appeler une fonction VB.net depuis javascript
- 2. Comment appeler une fonction côté serveur depuis javascript?
- 3. Comment appeler une procédure stockée depuis iReport?
- 4. Comment appeler une fonction javascript sur onrowcommand?
- 5. Comment appeler une fonction dans jquery?
- 6. comment appeler une autre fonction en javascript?
- 7. Comment puis-je appeler une fonction JQuery?
- 8. Comment appeler une fonction varargs avec un tableau en ActionScript?
- 9. Comment appeler une fonction publique dans un namesapce Javascript
- 10. Comment appeler du code Python depuis Ruby?
- 11. Comment convertir/appeler un projet C++ vers/depuis .Net?
- 12. appelant une fonction javascript depuis activex
- 13. Comment appeler une fonction dynamiquement en fonction d'un type d'objet
- 14. Comment convertir une axd en ashx?
- 15. Importer une classe Model/Lib et appeler depuis le contrôleur
- 16. Comment appeler JQuery depuis l'extérieur du bloc JQuery
- 17. Appel de la fonction Jquery depuis javascript
- 18. J'ai un pointeur sur un objet. Comment appeler une fonction qui attend une référence?
- 19. Comment appeler un service BizTalk net.TCP depuis une requête TCP brute?
- 20. Problème appeler une fonction js de php
- 21. Appeler une méthode protégée depuis l'extérieur d'une classe en PHP
- 22. Problème appeler une fonction quand il est dans un .lib
- 23. Comment appeler une fonction juste avant de revenir en C?
- 24. Comment appeler une fonction à partir de données binaires
- 25. Comment puis-je appeler une fonction masquée en C++?
- 26. Peut-on appeler TWinControl.Update depuis TGraphicControl.Paint?
- 27. image en utilisant .ashx
- 28. asp.net mvc webservice, comment appeler depuis l'application widowsforms?
- 29. Comment appeler une fonction appartenant à un autre objet en JavaScript (en utilisant script.aculo.us)
- 30. Comment appeler la fonction vb de javascript
J'aime idée 1 mais je ne suis pas sûr de ce que cela veut dire, je fais une nouvelle classe qui a tout le code, puis dans le ashx au lieu de avoir le code je viens de créer une nouvelle instance de la classe que j'ai faite et transmettre les valeurs aux fonctions de cet objet droit? – BigOmega
Je vais élaborer dans un montage. –