C# Class Castle.ActiveRecord.Framework.Scopes.DifferentDatabaseScope

Still very experimental and it's not bullet proof for all situations
Inheritance: AbstractScope
Exibir arquivo Open project: nats/castle-1.0.3-mono Class Usage Examples

Public Methods

Method Description
DifferentDatabaseScope ( IDbConnection connection ) : System

Initializes a new instance of the DifferentDatabaseScope class.

DifferentDatabaseScope ( IDbConnection connection, FlushAction flushAction ) : System

Initializes a new instance of the DifferentDatabaseScope class.

FailSession ( ISession session ) : void

This is called when a session 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 Castle.ActiveRecord.Framework.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

OpenSession ( ISessionFactory sessionFactory, IInterceptor interceptor ) : ISession

If the WantsToCreateTheSession returned true then this method is invoked to allow the scope to create a properly configured session

RegisterSession ( object key, ISession session ) : void

This method is invoked when no session was available at and the Castle.ActiveRecord.Framework.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
PerformDisposal ( ICollection sessions ) : void

Performs the disposal.

Private Methods

Method Description
OnTransactionCompleted ( object sender, EventArgs e ) : void

Method Details

DifferentDatabaseScope() public method

Initializes a new instance of the DifferentDatabaseScope class.
public DifferentDatabaseScope ( IDbConnection connection ) : System
connection IDbConnection The connection.
return System

DifferentDatabaseScope() public method

Initializes a new instance of the DifferentDatabaseScope class.
public DifferentDatabaseScope ( IDbConnection connection, FlushAction flushAction ) : System
connection IDbConnection The connection.
flushAction FlushAction The flush action.
return System

FailSession() public method

This is called when a session has a failure
public FailSession ( ISession session ) : void
session ISession the session
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 Castle.ActiveRecord.Framework.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() public method

If the WantsToCreateTheSession returned true then this method is invoked to allow the scope to create a properly configured session
public OpenSession ( ISessionFactory sessionFactory, IInterceptor interceptor ) : ISession
sessionFactory ISessionFactory From where to open the session
interceptor IInterceptor the NHibernate interceptor
return ISession

PerformDisposal() protected method

Performs the disposal.
protected PerformDisposal ( ICollection sessions ) : void
sessions ICollection The sessions.
return void

RegisterSession() public method

This method is invoked when no session was available at and the Castle.ActiveRecord.Framework.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