wcf - 使用 WCF 在 Velocity/AppFabric 中缓存区域

标签 wcf caching appfabric distributed-caching

我有一个基于服务的架构,其中充满 asp 客户端的网络场访问 WCF 服务的应用程序服务器场。显然所有的数据库访问都是由 WCF 服务完成的。现在我想在服务层级别使用 Velocity 缓存我经常使用的数据库检索对象。我正在考虑让每个物理应用服务器也成为缓存集群的一部分。

根据 Velocity 文档,如果我使用区域,则对象仅存储在单个主机上。如果每个主机都保留自己的缓存,我实际上不会有任何问题,前提是我可以以某种方式同步它们。

所以我的问题是

  1. 如果我在一台主机上创建一个区域,它是否也在另一台主机上创建?
  2. 当我清除缓存区域时,它是否只在一台主机上被清除?
  3. 如果我在所有主机上订阅区域级通知,我可以在另一台主机上捕获一台主机的事件吗?
  4. 在这种情况下,我应该使用区域还是远离它们?

我希望我的问题很清楚。实际上我对问题的解决方案比对问题的答案更感兴趣

最佳答案

是的,您在阅读该区域将仅存在于一台主机中的文档时是正确的。

“如果每个主机都保留自己的缓存,我实际上不会有任何问题,前提是我可以以某种方式同步它们。”

当您说同步时,您的意思是何时启用 HA?如果这就是您的意思,Velocity 实际上会解决这个问题。

对于问题: 1. 没有。 2. 是的 3.通知将发送给客户端。所以我不确定是否有向其他主机发送通知的方法。 4. Regions 提供了搜索功能并剥夺了您的 HA。在您的情况下,您可以利用 HA 的优势。

关于wcf - 使用 WCF 在 Velocity/AppFabric 中缓存区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2050818/

相关文章:

.net - WCF SOAP 格式

jquery - 如何使用 html 中的 jquery 访问托管的 WCF Web 服务

c# - 具有自定义 MembershipProvider 且没有 X.509 证书的 WCF,可能吗?

c# - 在 asp.net 中缓存用户数据的最佳做法是什么

timeout - 如何使用 WorkflowServiceHost 和 AppFabric 在超时延迟后重新启动或恢复事件?

wcf - 对象图中可以序列化或反序列化的最大项目数...

php - Magento + Varnish-在特定时间开门和关门的商店的逻辑

java - 禁用 Jersey 的 ObjectMapper 缓存?

appfabric - 如何读取 Appfabric 缓存中存在的所有项目 :

caching - 在AppFabric中,“读取后写入”与“缓存后保留”模式的优点是什么?