2009-03-31 7 views
3

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

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

  1. eine Sitzung öffnen, wird eine Transaktion starten, bevor Sie den Code jemals
  2. genannt wird
  3. Ihre Geschäftslogik und Ihr Framework zur Datenbank hat vollen Zugriff bis zum letzten möglich Moment
  4. 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