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>

Reply via email to