Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 914591
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T17:44:34+00:00 2026-05-15T17:44:34+00:00

I see there are 2 possible scenarios as to the session handling: Open one

  • 0

I see there are 2 possible scenarios as to the session handling:

  1. Open one single ISession per request. Open it at request start and close it at request end.
  2. Open one ISession per conceptual “unit of work”. Many sessions are created for a request.

The approach #1 is the one I’m doing now. I’m a little bit worried about it because, although it works, it’s a little bit difficult to debug. For instance, I have an object not being saved (even though I ordered it to) and I’m having trouble debugging since there’s a LOT of things happening during a complete request life-cycle.

The approach #2 seems to be the standard best-practice (not sure about ASP.NET) and I’m sure it’s pretty easier to debug. The problem I see is about inter-session communication. For instance: My Page class holds a reference to the User, which is a persistent object. Many of the operations receive the user as parameter. As the user belongs to a different session, I can’t pass it as a parameter.

I’m biased to #2, but I don’t know if it’s the best practice, nor how to deal with cross-session object.

Thanks.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T17:44:35+00:00Added an answer on May 15, 2026 at 5:44 pm

    Most people do Session-Per-Request for the reasons you outline and for simplicity.

    However, you can open and commit transactions for each “unit of work”. So you will have many transactions for each session. (It is also usual practice to make sure that when the transaction is committed, the session is flushed at the same time).

    For example, after clicking the save button, open and commit a transaction.

    The session will take care of keeping track of all your entities. The transaction will take care of flushing to the database when necessary.

    With this setup it should be easier to debug your problem.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

there is a strange white line in my screen. It's possible to see the
Is there an elegant way to handle end-of-life scenarios for an app on Google
I have a running JVM with two threads. Is it possible to see these
I see there are techniques available to have deep models in Backbone, but how
I see there are several posts regarding Cannot set Property and I'm still struggling
I see there is a question here but there is no definite answer. Has
I see there is version 1.5 and 3.0 beta , but I can't seem
I see there are BN_CLICKED and BN_DBLCLK notification messages for a button control. but
I see there are lot's of examples in Ext JS where instead of actually
I see there is a API call for Frienships/Show, but I am not sure

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.