Jag hade skapat Sessionen en gång i Winform och per request för Web. om man har en hårt belastad webapp finns det då inte risk för att man får en massa öppna sessioner? Jag är inte säker på att en öppen session betyder en öppen databaskoppling, har inte kollat upp det där. Jag har byggt vidare på Session per request Win och Web.
Om man vill nyttja gemensamt BLL och DAL för win och web applikationer där nHibernate används är det då lämpligt att använda Session per request?
Vad jag har läst mig till ska just session per request passa web bra för att kunna nyttja lazy. Har ingen koll på hur det fungerar i för winforms men det känns som att det där kan bli problem.
Hur gör man bäst för att det ska passa både win och web / är det ens möjligt?Sv: Session per request Win och Web.
Sv:Session per request Win och Web.
om man öppnar sessionen då man behöver och stänger då man är klar borde man väl hushålla med resurserna bäst?Sv: Session per request Win och Web.
Sv:Session per request Win och Web.
http://blogs.intesoft.net/post/2005/07/NHibernateHelper-Project.aspx
för en kund (jag kan dock inte publicera koden eftersom den tilhör en kund). Lösningen bygger på en sessionhanterare som håller en global session samt en HttpModule vid varje EndRequest stänger sessionen.
Vidarebygget gör att jag kan använda sessionshanteringsklassen (Db heter den i den artikeln) både i en Windows Service och i en ASP.NET-applikation.
Användningen i WinForms är litet lurigare än i ASP.NET-fallet eftersom du själv måste kontrollera när du skall skriva till databasen, vilket sker när du implicit anropar en Save-metod eller stänger sessionen.
Se upp så att du inte har en evigt öppen session utan att skriva till databasen (dvs du ändrar bara i dina objekt). I det fallet kommer all skrivning till databasen att ske när applikationen terminerar.
/Andreas