0

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

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

我的问题是,我怎样才能从 WCF 提供我的缓存值,因为它可以是通用的?

4

1 回答 1

0

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

我会使用某种专用数据缓存和专用客户端,该客户端以有效的方式与缓存对话。

如果您的缓存没有超出进程,那么您可以使用内存缓存,否则如果您要跨进程或通过网络,最好使用专用数据像AppFabric/VelocityMemcached这样的缓存。

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

于 2013-07-18T09:13:05.273 回答