Вы можете выставить кэшированный объект как свойство вашего класса обслуживания. Затем из любой точки цепочки вызовов вы сможете получить доступ к этому классу обслуживания с помощью OperationContext.Current. InstanceContext . GetServiceInstance ()
MyServiceImplementation service = (MyServiceImplementation)OperationContext.Current.InstanceContext.GetServiceInstance();
var cachedValue = service.MyCachedValue;
Предполагается, что вы используете экземпляры SingleCall, а не сеансовые или одноэлементные.