C# Class Castle.ActiveRecord.Scopes.DifferentDatabaseScope

Still very experimental and it's not bullet proof for all situations
Inheritance: SessionScope
Show file Open project: shosca/ActiveRecord

Public Methods

Method Description
DifferentDatabaseScope ( IDbConnection connection, FlushAction flushAction = FlushAction.Auto, ISessionScope parent = null, ISessionFactoryHolder holder = null, IThreadScopeInfo scopeinfo = null ) : System

Initializes a new instance of the DifferentDatabaseScope class.

Dispose ( ) : void
FailScope ( ) : void

This is called when a scope has a failure

GetSession ( object key ) : ISession

This method should return the session instance associated with the key.

IsKeyKnown ( object key ) : bool

This method is invoked when the ISessionFactoryHolder instance needs a session instance. Instead of creating one it interrogates the active scope for one. The scope implementation must check if it has a session registered for the given key. RegisterSession

RegisterSession ( object key, ISession session ) : void

This method is invoked when no session was available at and the ISessionFactoryHolder just created one. So it registers the session created within this scope using a key. The scope implementation shouldn't make any assumption on what the key actually is as we reserve the right to change it IsKeyKnown

Protected Methods

Method Description
CreateSession ( ISessionFactory sessionFactory, IInterceptor interceptor ) : ISession

This method is invoked to allow the scope to create a properly configured session

OpenSession ( Type type ) : ISession

Method Details

CreateSession() protected method

This method is invoked to allow the scope to create a properly configured session
protected CreateSession ( ISessionFactory sessionFactory, IInterceptor interceptor ) : ISession
sessionFactory ISessionFactory From where to open the session
interceptor IInterceptor the NHibernate interceptor
return ISession

DifferentDatabaseScope() public method

Initializes a new instance of the DifferentDatabaseScope class.
public DifferentDatabaseScope ( IDbConnection connection, FlushAction flushAction = FlushAction.Auto, ISessionScope parent = null, ISessionFactoryHolder holder = null, IThreadScopeInfo scopeinfo = null ) : System
connection IDbConnection
flushAction FlushAction
parent ISessionScope
holder ISessionFactoryHolder
scopeinfo IThreadScopeInfo
return System

Dispose() public method

public Dispose ( ) : void
return void

FailScope() public method

This is called when a scope has a failure
public FailScope ( ) : void
return void

GetSession() public method

This method should return the session instance associated with the key.
public GetSession ( object key ) : ISession
key object an object instance
return ISession

IsKeyKnown() public method

This method is invoked when the ISessionFactoryHolder instance needs a session instance. Instead of creating one it interrogates the active scope for one. The scope implementation must check if it has a session registered for the given key. RegisterSession
public IsKeyKnown ( object key ) : bool
key object an object instance
return bool

OpenSession() protected method

protected OpenSession ( Type type ) : ISession
type System.Type
return ISession

RegisterSession() public method

This method is invoked when no session was available at and the ISessionFactoryHolder just created one. So it registers the session created within this scope using a key. The scope implementation shouldn't make any assumption on what the key actually is as we reserve the right to change it IsKeyKnown
public RegisterSession ( object key, ISession session ) : void
key object an object instance
session ISession An instance of ISession
return void