Nhibernate 定制ICache实现的关键问题
我们有自己的缓存框架,运行良好,我们喜欢它。我们希望将其连接到NHibernate,而不是依赖于NH的其他缓存实现之一 我已经编写了NHibernate.Cache.ICache的一个实现,它将我们的框架与NH连接起来。我的实现几乎完全基于以下内容: 我突然想到的一件事是,ICache接口中的缓存键属于object类型。我们的框架键是使用字符串的缓存。我注意到上面的Velocity实现只是对传递给Get(object key)和Put(object key)方法的key实例执行一个.ToString()。这让我有点紧张 在我的测试中,“key”对象的类型是string,它是实体名 我的问题是:Nhibernate 定制ICache实现的关键问题,nhibernate,Nhibernate,我们有自己的缓存框架,运行良好,我们喜欢它。我们希望将其连接到NHibernate,而不是依赖于NH的其他缓存实现之一 我已经编写了NHibernate.Cache.ICache的一个实现,它将我们的框架与NH连接起来。我的实现几乎完全基于以下内容: 我突然想到的一件事是,ICache接口中的缓存键属于object类型。我们的框架键是使用字符串的缓存。我注意到上面的Velocity实现只是对传递给Get(object key)和Put(object key)方法的key实例执行一个.ToStr
- 对键实例盲目调用.ToString()是否是一种安全的方法(我正在检查null)
- 如果这个实现确实是安全的,这是否意味着它总是一个字符串
- 如果这总是一个字符串,那么为什么它是object类型
任何指导都将不胜感激-干杯我在这里没有得到任何回复,也没有在NH用户组线程上得到任何回复[1]。我已经得出结论,在我们的自定义实现中调用key.ToString()是安全的,但很遗憾,我没有得到一些关于这方面的官方指导:( 有关更多详细信息,请参阅用户组线程 干杯
[1] 我在这里和NH用户组线程[1]上都没有得到任何响应。我得出结论,在我们的自定义实现中调用key.ToString()是安全的,但很遗憾,我没有得到一些关于这方面的官方指导:( 有关更多详细信息,请参阅用户组线程 干杯 [1]