在 Castle Dynamic Proxy 2.1 IModelInterceptorsSelector 中重写 GetHashCode 和 Equals
我读过,为了在使用 Castle 动态代理时使用拦截器选择器时获得缓存和推送性能,我需要重写 GetType()、GetHashCode() 和 Equals()
我在哪里可以找到示例或内容从执行的角度来看,最好的实施方式是什么?
I've read that in order to get caching and push performance when using an Interceptor Selector when using Castle Dynamic Proxy that I need to override GetType(), GetHashCode() and Equals()
Where can I find an example of or what would be the best, from a performing perspective, implementation?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你不能重写 GetType,它不是虚拟的。
对于其余的类型,请使用与任何其他类型相同的技术。
我通常将选择器设置为无状态,并将方法实现为
this.GetType().GetHashCode()
和This.GetType() == other.GetType()
you can't override GetType, it's not virtual.
For the remaining ones, use the same technique you'd use for any other type.
I generally make my selectors stateless, and implement the methods as
this.GetType().GetHashCode()
andThis.GetType() == other.GetType()