UpT*_*eek 5 asp.net nhibernate asp.net-mvc
这与前一个问题,我问,关于拆分一个asp.net MVC Web应用程序分成两个应用程序-一个公开,一个管理员.当然,它们都将共享相同的数据库.
有了两个Web应用程序,我将拥有两个主机应用程序,因此有两个独立的Nihbernate会话工厂. 我担心的是,他们单独的数据缓存会引起各种各样的问题.
在发布这篇文章时,我看了一下这个问题,它涵盖了类似的问题(出于不同的原因).我真的不想为低使用率的管理应用程序设置某种分布式缓存.
怎么解决这个问题?是否将管理部分分为自己的应用程序,而不使用NHibernate而不采取严厉措施?
谢谢.
尽管数据中的一些差异始终是一个问题,但我们成功地运行了此过程。但是,由于二级缓存可按站点进行配置,因此您可以在管理器上针对特定缓存区域禁用或关闭它。
二级缓存将仅用于读取,因为显式更新将被刷新并直接持久化。
如果您担心网站上的内容一旦修改就会“旧”,则需要某种触发器来指示网站逐出缓存。如果我没记错的话,NHibernate 将逐出特定实体类型的所有二级缓存。
我认为如果您的站点与管理员将更新不同的实体,那么您的并发问题将是最小的。例如在网上商店:
Site will create orders, modify customers etc but only read products, prices and categories
Admin will modify orders, products, prices and categories but only read customers
Run Code Online (Sandbox Code Playgroud)
但是,您可以指示 NHibernate 仅更新您担心映射上的并发问题的实体的对象上已修改的字段/属性。这不会完全解决您的问题,但可以最大限度地减少并发问题。
| 归档时间: |
|
| 查看次数: |
471 次 |
| 最近记录: |