0

我有一个 WCF 服务,它通过 TCP/IP、HTTP 或命名管道提供标准 SOAP 接口。该服务计算和缓存一个大型、复杂的关系数据集,并通过高级服务操作向客户端提供有关它的视图。它运行良好。

我还有一个单独的自定义 OData 服务,它以更“原始”的形式提供基础数据。该服务与第一个服务共享一些管道,即加载和缓存大型、复杂的关系数据集,但在其他方面是一个独立的服务,可以与第一个服务分开托管。

我目前正在使用 Windows Process Activation Services 在 IIS 中托管标准 SOAP 服务,并且我确信我可以将 OData 服务作为一个单独的端点做同样的事情。

如果我想将它们一起托管在同一个 IIS 主机进程中,我有哪些选项可以允许这两个服务共享底层缓存数据集,以节省加载时间和内存消耗?

4

1 回答 1

0

假设您可以处理反射提供程序的限制或愿意处理自定义提供程序的复杂性,您应该能够构建一个缓存层,使您的 WCF 服务和 WCF 数据服务都可以使用相同的数据。

(这在技术上也适用于实体框架提供程序,但听起来这可能不适合您的其他需求。)

如果您在启动和运行时遇到问题,我可以发布一个示例。

于 2012-08-01T22:27:55.813 回答