J'ai beaucoup utilisé les contrôles utilisateur mais je n'ai jamais utilisé un HttpHandler et je me demandais si je faisais quelque chose de sous-optimal ou mauvaisQuelle est la différence entre HttpHandler et un contrôle d'utilisateur Web et quand utiliser chacun d'eux?
Répondre
Attendez-vous à une meilleure réponse (probablement avant d'avoir fini de taper ceci), mais comme un résumé rapide.
Un contrôle utilisateur peut être ajouté à une page.
Un HttpHandler peut être utilisé à la place d'une page.
Malheureusement, votre question est un peu comme "Dois-je utiliser un sandwich ou une bétonnière". HttpHandlers et les contrôles utilisateur sont des choses complètement différentes.
HttpHandlers sont utilisés pour traiter les requêtes HTTP. Par exemple, si vous souhaitez créer dynamiquement un flux RSS, vous pouvez écrire un gestionnaire HTTP qui gère toutes les demandes de fichiers ".rss", crée la sortie et la renvoie à l'utilisateur.
Les contrôles utilisateur sont utilisés dans les pages ASPX pour encapsuler des unités de fonctionnalité que vous souhaitez réutiliser sur plusieurs pages.
Les chances sont, si vous utilisez les contrôles utilisateur avec succès, vous ne voulez pas utiliser HttpHandlers!
Même une page Asp.Net
est un HttpHandler
. Un contrôle utilisateur réside réellement dans la page asp.net aspx.
Fondamentalement, un contrôle utilisateur est une partie de la logique du serveur et de l'interface utilisateur. Un gestionnaire HTTP est seulement une partie de la logique qui est exécutée lorsqu'une ressource sur votre serveur est demandée. Par exemple, vous pouvez décider de gérer les demandes d'images envoyées à votre serveur via votre propre gestionnaire et de diffuser des images à partir d'une base de données au lieu du système de fichiers. Cependant, dans ce cas, il n'y a pas d'interface que l'utilisateur voit et quand il visite une URL sur votre serveur il obtiendrait la réponse que vous avez construite dans votre propre gestionnaire. Les gestionnaires sont généralement effectués pour des extensions spécifiques et des types de requêtes HTTP (POST, GET). Voici quelques informations supplémentaires sur MSDN: http://msdn.microsoft.com/en-us/library/ms227675(VS.80).aspx
Juste pour clarifier la question. Je lisais l'article de Hanselman http://www.hanselman.com/blog/CompositingTwoImagesIntoOneFromTheASPNETServerSide.aspx et pensais que je n'aurais jamais résolu le problème avec un HttpHandler, peut-être avec une simple page retournant un contenu binaire. Cela m'a amené à penser que je devrais ajouter HttpHandler à ma ceinture d'outils de développement.
- 1. Quelle est la différence entre ICallBackEventHandler et HTTPHandler?
- 2. Quelle est la différence entre Web ferme et Web Garden?
- 3. Quelle est la différence entre = et: =
- 4. Quelle est la différence entre dict() et {}?
- 5. quelle est la différence entre:.! et: r !?
- 6. Quelle est la différence entre debug.write et Trace.write?
- 7. Quelle est la différence entre un nanokernel et un exokernel?
- 8. Quelle est la différence entre "bool" et "bool?"
- 9. Quelle est la différence entre un assistant et un partiel?
- 10. Quelle est la différence entre // et /// dans Visual Studio?
- 11. Linq: Quelle est la différence entre Select et Où
- 12. Quelle est la différence entre JAIN SIP et MJSIP?
- 13. Quelle est la différence entre un midlet et un corelet?
- 14. Quelle est la différence entre un itérateur et un générateur?
- 15. Quelle est la différence entre FormHelper :: label et FormTagHelper :: label_tag?
- 16. Quelle est la différence entre une bibliothèque de contrôle utilisateur et une bibliothèque de contrôle personnalisée?
- 17. Quelle est la différence entre IContainer et IUnityContainer de Prism?
- 18. Quelle est la différence entre this.click() et $ (this) .click()?
- 19. Quelle est la différence entre nohup et un démon?
- 20. Quelle est la différence entre session.Merge et session.SaveOrUpdate?
- 21. Quelle est la différence entre le contrôle de flux DTR/DSR et RTS/CTS?
- 22. Quelle est la différence entre 'form_for @ecard' et 'form_for: ecard'?
- 23. Quelle est la différence entre while (true) et loop?
- 24. Quelle est la différence entre X509Certificate2 et X509Certificate in .NET?
- 25. Quelle est la différence entre CIL et MSIL (IL)?
- 26. Quelle est la différence entre GPLv2 et GPLv3?
- 27. Quelle est la différence entre XML-RPC et SOAP?
- 28. Quelle est la différence entre Keyboard.Focus (point) et item.Focus()?
- 29. Quelle est la différence entre AddConcreteType et TheDefaultIsConcreteType dans StructureMap?
- 30. Quelle est la différence entre bcc32 et bcc32ide dans Borland?