CACHE基础设施与WCF服务

本文关键字:服务 WCF 基础设施 CACHE | 更新日期: 2023-09-27 18:23:55

我有一些WCF服务(让我们调用X),其中有一个缓存服务客户端。因此,调用我的WCF服务的最终用户不知道缓存,也不应该关心它。

我的缓存服务也是一个WCF服务,它不可公开使用,只有X可以调用它。正如你所知,可以将任何类型的对象放在缓存中(假设cache是HttpRuntime.cache),但当问题出现在WCF中时,呈现WCF服务的缓存值,任何类型的物体都可能是一个问题,因为未知的数据类型。

我的问题是,如何从WCF中提供缓存值,因为它可以是通用的?

CACHE基础设施与WCF服务

我知道如果你坚持这种架构,这不会解决你的问题,但就我个人而言,我会完全避免这种设置。

我会使用某种专用数据缓存,并使用一个以高效方式与缓存对话的专用客户端。

如果你的缓存没有超出进程,那么你可以使用内存中的缓存,否则,如果你要跨进程或通过网络,你最好使用专用的数据缓存,如AppFabric/VersityMemcached

您还可以获得许多其他开箱即用的好处,如分布式缓存、冗余和自动故障转移。我怀疑WCF是否会成为数据缓存未知对象的成功解决方案。