Ich sehe dieses Muster überall, aber Linq to SQL implementiert es nicht. Wenn Session/Unit-of-Work-Objekte leichtgewichtig sind (können ohne Leistungseinbußen erstellt und zerstört werden), und das Verbindungspooling hält Datenbankverbindungen am Laufen, warum und wann brauche ich das Session-pro-Request-Muster?Wann sollte ich das Session-pro-Request-Muster verwenden
3
A
Antwort
3
Ich glaube, dass die Idee von Session-per-Request eher beim Öffnen und Schließen der Session als beim Verbessern der Performance steht.
Die Idee ist, dass
- eine Sitzung öffnen, wird eine Transaktion starten, bevor Sie den Code jemals genannt wird
- Ihre Geschäftslogik und Ihr Framework zur Datenbank hat vollen Zugriff bis zum letzten möglich Moment
- Ihre Transaktion ist für Sie verpflichtet, anstatt es jedes Mal selbst zu tun
Die Idee von # 2 ist wichtig, damit Sie Web-Frameworks mischen und Daten laden können. Wenn eine Getter-Methode beim Rendern der Daten aufgerufen wird, nachdem der Code ausgeführt wurde, und Sie die Sitzung geschlossen haben, konnten Sie das Ergebnis des GETTs nicht langsam laden.
0
Dies ist eigentlich eine gute Frage, die fast alle Tutorials zu vermeiden scheinen.
Wenn Sie kein Lazy Loading verwenden, brauchen Sie es nicht.
Verwandte Themen
- 1. Isolationsstufe - serialisierbar. Wann sollte ich das verwenden?
- 2. Wann sollte ich getElementById verwenden?
- 3. Wann sollte ich RESTful verwenden?
- 4. Wann sollte ich Threads verwenden?
- 5. Wann sollte ich ConcurrentSkipListMap verwenden?
- 6. Wann sollte ich das Stichwort „Typname“ verwenden, wenn Vorlagen
- 7. Wann sollte ich das MySQL-komprimierte Protokoll verwenden?
- 8. Wann sollte ich das Schlüsselwort "strictfp" in Java verwenden?
- 9. Wann sollte ich das name-Attribut in HTML4/HTML5 verwenden?
- 10. In Objective-C, wann sollte ich Klassenmethoden verwenden und wann sollte ich Instanzmethoden verwenden?
- 11. In Jira Agile wann sollte ich eine "Story" verwenden und wann sollte ich eine "Verbesserung" verwenden?
- 12. Wann sollte ich das Jumbotron benutzen?
- 13. Wann/warum sollte ich Groovys @CompileStatic verwenden?
- 14. Wann sollte ich eine Objektdatenbank verwenden?
- 15. Wann sollte ich __forceinline anstatt inline verwenden?
- 16. Wann sollte ich Subdomains verwenden oder vermeiden?
- 17. Wann/warum sollte ich eine Datenbank verwenden?
- 18. Wann sollte ich @JoinColumn oder @JoinTable verwenden?
- 19. Wann sollte ich poppler_page_render vs poppler_page_render_for_printing verwenden?
- 20. Wann sollte ich setUserState in Joomla verwenden?
- 21. Wann sollte ich React.cloneElement vs this.props.children verwenden?
- 22. Wann sollte ich before_filter vs helper_method verwenden?
- 23. Wann sollte ich AUTOLOAD von Perl verwenden?
- 24. Wann sollte ich user.get_profile in django verwenden?
- 25. Wann sollte ich ein ORM-Framework verwenden?
- 26. Wann ich ServiceTracker vs ServiceReference verwenden sollte
- 27. Wann sollte ich String statt Stringstream verwenden?
- 28. Wann sollte ich den Git Stash verwenden?
- 29. Wann sollte ich vorbereitete Anweisungen genau verwenden?
- 30. Wann sollte ich Klammern in Knockout verwenden