Sto scrivendo un semplice MVC ASP.NET utilizzando sessioni per richiesta e modelli di transazione per richiesta (HttpModule personalizzato). Sembra funzionare correttamente, ma .. le prestazioni sono terribili (una pagina semplice carica ~ 7 secondi). Per ogni richiesta HTTP, le risorse grafiche incluse (tutte le immagini sul sito) vengono create una transazione e questo sembra ritardare i tempi di caricamento (senza le transazioni i tempi di caricamento per un'immagine sono ~ 1-10 ms con transazioni che superano 1 secondo) . Qual è il modo corretto di gestire le transazioni nello stack ASP.NET MVC + NH?Gestione delle transazioni NHibernate in ASP.NET MVC: come dovrebbe essere fatto?
Quando ho inserito tutte le transazioni nei miei metodi di repository, per alcuni motivi oscuri ho ricevuto l'avviso 'transazioni implicite' in NHProf (le istruzioni SQL sono state eseguite al di fuori della transazione, anche quella in codice session.Save()/Update () I metodi/etc sono stati richiamati nell'ambito della transazione 'using' scope e prima della chiamata transaction.Commit()) BTW le transazioni implicite sono davvero negative?
Perché si stanno abilitando le transazioni per le operazioni di lettura? –
@Dave Swersky Poiché è consigliabile utilizzare sempre le transazioni indipendentemente dal fatto che si stia leggendo o salvando. Vedi http://nhprof.com/Learn/Alerts/DoNotUseImplicitTransactions per ulteriori informazioni. –