That could be done by replacing the KEY definition in the AbstractSessionStore
public AbstractSessionStore(string Id) { sessionName = HashCodeProvider.GetIdentityHashCode(this).ToString() + Id; } On 10/11/06, Ron Grabowski (JIRA) <ibatis-dev@incubator.apache.org> wrote:
[ http://issues.apache.org/jira/browse/IBATISNET-185?page=comments#action_12441324 ] Ron Grabowski commented on IBATISNET-185: ----------------------------------------- Is there a reason why we can't move the SessionStore implementations into IBatisNet.Common instead of duplicating code in DataAccess and DataMapper? > Allow custom ISessionStoreFactory > --------------------------------- > > Key: IBATISNET-185 > URL: http://issues.apache.org/jira/browse/IBATISNET-185 > Project: iBatis for .NET > Issue Type: Improvement > Components: DataAccess, DataMapper > Reporter: Ron Grabowski > Assigned To: Gilles Bayon > Priority: Minor > Fix For: DataMapper 1.6 > > > The interfaces and abstract class in IBatisNet.DataAccess.SessionScope and IBatisNet.DataMapper.SessionScope should be combined and moved into IBatisNet.Common and a new interface named IBatisNet.Common.SessionStore.ISessionStoreFactory should be created: > public interface ISessionStoreFactory > { > void Initialize(IDictionary properties); > ISessionStore GetSessionStore(string sessionStore); > // void Shutdown(); ??? > } > "setting" nodes in the SqlMap.config file currently only contains boolean values. I think we should keep with that convention if possible and introduce a seperate node named "sessionStoreFactory" that should mimic the custom cache support (allow properties to be passed into the Initialize method): > <sessionStoreFactory type="Company.IBatisNet.CustomSessionStoreFactory, Company.IBatisNet"> > <property name="Hello" value="World" /> > </sessionStoreFactory> > IBatisNet should ship with at least two factories: > > CallContextSessionStoreFactory > HybridSessionStoreFactory (HttpContext != null ? HttpContextSessionStore : CallContextSessionStore) > The default factory would be HybirdSessionStoreFactory. The user could manually specify one of the built-in factories by using an upper case alias: > <sessionStoreFactory type="CALLCONTEXT" /> > <sessionStoreFactory type="HYBRID" /> > For the DataAccess project, a context could use a custom session store factory like this: > <daoSessionHandler id="SqlMap"> > <property name="resource" value="SqlMap_MSSQL_OleDb.config"/> > <property name="sessionStoreFactory" value="Company.IBatisNet.CustomSessionStoreFactory, Company.IBatisNet"/> > <property name="Hello" value="World"/> > </daoSessionHandler> > The IDictionary passed into ISessionStoreFactory.Initialize would contain three keys: resource, sessionStoreFactory, and Hello. > If you wanted to always use CALLCONTEXT with a data access context: > <daoSessionHandler id="SqlMap"> > <property name="resource" value="SqlMap_MSSQL_OleDb.config"/> > <property name="sessionStoreFactory" value="CALLCONTEXT"/> > </daoSessionHandler> -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
-- Cheers, Gilles <a href="http://www.amazon.com/gp/registry/6JCP7AORB0LE">Wish List</a>