I have a question for anyone who might be able to help.
I am building a SmartClient app that uses .NET Remoting to communicate with it’s BLL (Business Logic Layer). The app ultimately speaks to an IBM 3270 Host to execute units of work. The BLL and DAL (Data Access Layer) are for the most part, pass through layers to the real business logic on the mainframe. As the app evolves, functionality in the host might be moved onto other systems.
My question is… I have to maintain state or a session between all the layers of the application.
· Do I need to create a “Session” class to maintain this state in each layer of the application?
· How would I sync state across all layers?
Here’s the conceptual design diagram. Notice I have “Session” object on all three layers. Am I off on this approach?


Here’s my session class. It has a bunch of properties that about the user and their session that need to be passed around. This is what I’m trying to pass around to be used on the UI, BLL and DAL.

Thanks in advance for anything.