Can i have both ISession and IStatelessSession side by side?
Consider a transaction-per-view model where with an IHttpModule i open a transaction using a standard ISession.
Now, i have a page where i want to do some batch operations. Since IStatelessSession is preferred for batch operations:
- Can i have both
ISessionandIStatelessSessionopen at the same time? Is it safe? - If 开发者_StackOverflow1. yes can i use the same
ITransaction? - If 2. no should i Commit & Close the
ISessionand its associatedITransactionand then open theIStatelessSessionand a newITransactionfor it? - If 3. yes are there any pitfalls i should be aware of?
any ideas are welcome
- Yes and yes.
- No, each will have its own transaction.
- I would commit the ISession's transaction but leave the ISession open.
I recommend not starting a transaction for every HTTP request. Instead start and commit a transaction on the page when you have changes to commit. This also improves exception handling because you can catch the exception on the page instead of at the end of the request.
加载中,请稍侯......
精彩评论